예제 #1
0
    def test_ports(self):
        g = Gantry()

        assert_equal([[12345, 8000], [12346, 8000], [12347, 8001]],
                     g.ports('foo', tags=['123']))
        assert_equal([], g.ports('bar', tags=['abc']))
        assert_equal([], g.ports('bar', tags=['cde']))
예제 #2
0
    def test_containers_exclude_tags(self):
        g = Gantry()

        res = g.containers("foo", exclude_tags=["122"])
        assert_containers(["1da4", "5e68", "6000"], res)

        res = g.containers("foo", exclude_tags=["122", "123"])
        assert_containers([], res)
예제 #3
0
    def test_containers_exclude_tags(self):
        g = Gantry()

        res = g.containers('foo', exclude_tags=['122'])
        assert_containers(['1da4', '5e68', '6000'], res)

        res = g.containers('foo', exclude_tags=['122', '123'])
        assert_containers([], res)
예제 #4
0
    def test_fetch_state_normalises_container_images(self):
        g = Gantry()
        _, _, containers = g.fetch_state("foo")

        containers = sorted(containers, key=lambda x: x["Id"])
        for im, ct in zip(["1355", "e79a", "e79a", "e79a"], containers):
            assert_equal(64, len(ct["Image"]))
            assert_equal(im, ct["Image"][:4])
예제 #5
0
    def test_fetch_state_normalises_container_images(self):
        g = Gantry()
        _, _, containers = g.fetch_state('foo')

        containers = sorted(containers, key=lambda x: x['Id'])
        for im, ct in zip(['1355', 'e79a', 'e79a', 'e79a'], containers):
            assert_equal(64, len(ct['Image']))
            assert_equal(im, ct['Image'][:4])
예제 #6
0
    def test_containers_tags(self):
        g = Gantry()

        res = g.containers('foo', tags=['123'])
        assert_containers(['1da4', '5e68', '6000'], res)

        res = g.containers('foo', tags=['123', 'latest'])
        assert_containers(['1da4', '5e68', '6000'], res)

        res = g.containers('foo', tags=['122', '123'])
        assert_containers(['1da4', '5e68', '6000', '0ed4'], res)
예제 #7
0
    def test_containers_tags(self):
        g = Gantry()

        res = g.containers("foo", tags=["123"])
        assert_containers(["1da4", "5e68", "6000"], res)

        res = g.containers("foo", tags=["123", "latest"])
        assert_containers(["1da4", "5e68", "6000"], res)

        res = g.containers("foo", tags=["122", "123"])
        assert_containers(["1da4", "5e68", "6000", "0ed4"], res)
예제 #8
0
    def test_deploy(self, start_mock):
        start_mock.return_value = 0
        g = Gantry()
        g.deploy("foo", "124", "123")

        self.docker_mock.stop.assert_called_once_with(
            "1da4dfe2db6dbf45755f8419e9de4e78f340b4f300783a57e42ead853b46158a",
            "5e68d8d416da617eeed45f7613f820731fe1d642ff343a43a4a49b55cbb2116e",
            "60008cffafabaca08174af02d95de22bda6aad09a31a86aeb6b47a6c77f3bec3",
        )

        start_mock.assert_called_with("51f59b5c1b8354c2cc430cc3641fc87a0ad8443465f7b97d9f79ad6263f45548")
        assert_equal(3, start_mock.call_count)
예제 #9
0
    def test_deploy(self, start_mock):
        start_mock.return_value = 0
        g = Gantry()
        g.deploy('foo', '124', '123')

        self.docker_mock.stop.assert_called_once_with(
            '1da4dfe2db6dbf45755f8419e9de4e78f340b4f300783a57e42ead853b46158a',
            '5e68d8d416da617eeed45f7613f820731fe1d642ff343a43a4a49b55cbb2116e',
            '60008cffafabaca08174af02d95de22bda6aad09a31a86aeb6b47a6c77f3bec3')

        start_mock.assert_called_with(
            '51f59b5c1b8354c2cc430cc3641fc87a0ad8443465f7b97d9f79ad6263f45548')
        assert_equal(3, start_mock.call_count)
예제 #10
0
 def test_fetch_state_images_tags(self):
     g = Gantry()
     images, tags, _ = g.fetch_state('foo')
     assert_equal(4, len(images))
     assert_equal(['122', '123', '124', 'latest'], sorted(tags))
     assert_equal(tags['124'], tags['latest'])
예제 #11
0
 def test_containers_all(self):
     g = Gantry()
     res = g.containers("foo")
     assert_containers(["1da4", "5e68", "6000", "0ed4"], res)
예제 #12
0
 def test_containers_all(self):
     g = Gantry()
     res = g.containers('foo')
     assert_containers(['1da4', '5e68', '6000', '0ed4'], res)
예제 #13
0
 def test_fetch_state_images_tags(self):
     g = Gantry()
     images, tags, _ = g.fetch_state("foo")
     assert_equal(4, len(images))
     assert_equal(["122", "123", "124", "latest"], sorted(tags))
     assert_equal(tags["124"], tags["latest"])
예제 #14
0
    def test_ports(self):
        g = Gantry()

        assert_equal([[12345, 8000], [12346, 8000], [12347, 8001]], g.ports("foo", tags=["123"]))
        assert_equal([], g.ports("bar", tags=["abc"]))
        assert_equal([], g.ports("bar", tags=["cde"]))
예제 #15
0
    def test_deploy_unknown_from_tag(self, start_mock):
        start_mock.return_value = 0
        g = Gantry()

        # Should not raise
        g.deploy("foo", "124", "122")
예제 #16
0
    def test_deploy_stop(self, start_mock):
        start_mock.return_value = 0
        g = Gantry()
        g.deploy("foo", "124", "123", stop=False)

        self.docker_mock.stop.assert_not_called()
예제 #17
0
    def test_deploy_stop(self, start_mock):
        start_mock.return_value = 0
        g = Gantry()
        g.deploy('foo', '124', '123', stop=False)

        self.docker_mock.stop.assert_not_called()
예제 #18
0
    def test_deploy_error(self, start_mock):
        start_mock.return_value = 1
        g = Gantry()

        assert_raises(GantryError, g.deploy, 'foo', '124', '123')
예제 #19
0
    def test_deploy_unknown_from_tag(self, start_mock):
        start_mock.return_value = 0
        g = Gantry()

        # Should not raise
        g.deploy('foo', '124', '122')
예제 #20
0
    def test_deploy_unknown_to_tag(self):
        g = Gantry()

        assert_raises(GantryError, g.deploy, 'foo', '125', '123')