From 3df2c90e4855270a024de86d76ded25a0c2d4721 Mon Sep 17 00:00:00 2001 From: Max Eliseev Date: Sat, 18 May 2019 06:44:13 +0500 Subject: Add LogsOptionsBuilder::since() method (#169) * Add LogsOptionsBuilder.since() method * test for LogsOptionsBuilder --- src/builder.rs | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/builder.rs b/src/builder.rs index d9eb751..8cbbf9b 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -1121,6 +1121,14 @@ impl LogsOptionsBuilder { self } + pub fn since( + &mut self, + timestamp: i64, + ) -> &mut Self { + self.params.insert("since", timestamp.to_string()); + self + } + pub fn build(&self) -> LogsOptions { LogsOptions { params: self.params.clone(), @@ -1503,7 +1511,7 @@ impl VolumeCreateOptionsBuilder { #[cfg(test)] mod tests { - use super::{ContainerOptionsBuilder, RegistryAuth}; + use super::{ContainerOptionsBuilder, LogsOptionsBuilder, RegistryAuth}; #[test] fn container_options_simple() { @@ -1634,4 +1642,25 @@ mod tests { options.serialize() ); } + + #[test] + fn logs_options() { + let options = LogsOptionsBuilder::default() + .follow(true) + .stdout(true) + .stderr(true) + .timestamps(true) + .tail("all") + .since(2_147_483_647) + .build(); + + let serialized = options.serialize().unwrap(); + + assert!(serialized.contains("follow=true")); + assert!(serialized.contains("stdout=true")); + assert!(serialized.contains("stderr=true")); + assert!(serialized.contains("timestamps=true")); + assert!(serialized.contains("tail=all")); + assert!(serialized.contains("since=2147483647")); + } } -- cgit v1.2.3