You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2016/04/05 19:41:12 UTC

[2/2] mesos git commit: Added tests for docker spec helpers.

Added tests for docker spec helpers.

Review: https://reviews.apache.org/r/45621/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/9d49885b
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/9d49885b
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/9d49885b

Branch: refs/heads/master
Commit: 9d49885bb842d2fff09c59bab7e92a069c4437ba
Parents: 7f0b231
Author: Gilbert Song <so...@gmail.com>
Authored: Tue Apr 5 10:40:59 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Tue Apr 5 10:40:59 2016 -0700

----------------------------------------------------------------------
 src/tests/containerizer/docker_spec_tests.cpp | 69 ++++++++++++++++++++++
 1 file changed, 69 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/9d49885b/src/tests/containerizer/docker_spec_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/docker_spec_tests.cpp b/src/tests/containerizer/docker_spec_tests.cpp
index a0de305..796b020 100644
--- a/src/tests/containerizer/docker_spec_tests.cpp
+++ b/src/tests/containerizer/docker_spec_tests.cpp
@@ -23,6 +23,8 @@
 
 namespace spec = docker::spec;
 
+using std::string;
+
 namespace mesos {
 namespace internal {
 namespace tests {
@@ -99,6 +101,73 @@ TEST_F(DockerSpecTest, ParseImageReference)
 }
 
 
+TEST_F(DockerSpecTest, GetRegistrySpec)
+{
+  string registry = "";
+  Result<int> port = spec::getRegistryPort(registry);
+  Try<string> scheme = spec::getRegistryScheme(registry);
+  string host = spec::getRegistryHost(registry);
+
+  ASSERT_NONE(port);
+  EXPECT_SOME_EQ("https", scheme);
+  EXPECT_TRUE(host.empty());
+
+  registry = ":";
+  port = spec::getRegistryPort(registry);
+  scheme = spec::getRegistryScheme(registry);
+  host = spec::getRegistryHost(registry);
+
+  ASSERT_ERROR(port);
+  ASSERT_ERROR(scheme);
+  EXPECT_TRUE(host.empty());
+
+  registry = "invalid_port:x80";
+  port = spec::getRegistryPort(registry);
+  scheme = spec::getRegistryScheme(registry);
+  host = spec::getRegistryHost(registry);
+
+  ASSERT_ERROR(port);
+  ASSERT_ERROR(scheme);
+  EXPECT_EQ("invalid_port", host);
+
+  registry = "invalid_port:80:80";
+  port = spec::getRegistryPort(registry);
+  scheme = spec::getRegistryScheme(registry);
+  host = spec::getRegistryHost(registry);
+
+  ASSERT_ERROR(port);
+  ASSERT_ERROR(scheme);
+  EXPECT_EQ("invalid_port", host);
+
+  registry = "index.docker.io";
+  port = spec::getRegistryPort(registry);
+  scheme = spec::getRegistryScheme(registry);
+  host = spec::getRegistryHost(registry);
+
+  ASSERT_NONE(port);
+  EXPECT_SOME_EQ("https", scheme);
+  EXPECT_EQ("index.docker.io", host);
+
+  registry = "localhost:80";
+  port = spec::getRegistryPort(registry);
+  scheme = spec::getRegistryScheme(registry);
+  host = spec::getRegistryHost(registry);
+
+  EXPECT_SOME_EQ(80, port);
+  EXPECT_SOME_EQ("http", scheme);
+  EXPECT_EQ("localhost", host);
+
+  registry = "registry-1.docker.io:443";
+  port = spec::getRegistryPort(registry);
+  scheme = spec::getRegistryScheme(registry);
+  host = spec::getRegistryHost(registry);
+
+  EXPECT_SOME_EQ(443, port);
+  EXPECT_SOME_EQ("https", scheme);
+  EXPECT_EQ("registry-1.docker.io", host);
+}
+
+
 TEST_F(DockerSpecTest, ParseV1ImageManifest)
 {
   Try<JSON::Object> json = JSON::parse<JSON::Object>(