def test_merge_build_or_image_override_with_other(self): self.assertEqual( config.merge_service_dicts({'build': '.'}, {'image': 'redis'}), {'image': 'redis'}) self.assertEqual( config.merge_service_dicts({'image': 'redis'}, {'build': '.'}), {'build': '.'})
def test_merge_build_or_image_no_override(self): self.assertEqual( config.merge_service_dicts({'build': '.'}, {}), {'build': '.'}, ) self.assertEqual( config.merge_service_dicts({'image': 'redis'}, {}), {'image': 'redis'}, )
def test_merge_build_or_image_override_with_same(self): self.assertEqual( config.merge_service_dicts({'build': '.'}, {'build': './web'}), {'build': './web'}, ) self.assertEqual( config.merge_service_dicts({'image': 'redis'}, {'image': 'postgres'}), {'image': 'postgres'}, )
def test_merge_build_or_image_override_with_other(self): self.assertEqual( config.merge_service_dicts({'build': '.'}, {'image': 'redis'}), {'image': 'redis'} ) self.assertEqual( config.merge_service_dicts({'image': 'redis'}, {'build': '.'}), {'build': '.'} )
def test_add_explicit_path(self): service_dict = config.merge_service_dicts( {self.config_name(): ['/foo:/code', '/data']}, {self.config_name(): ['/bar:/code', '/quux:/data']}, ) self.assertEqual(set(service_dict[self.config_name()]), set(['/bar:/code', '/quux:/data']))
def test_add_item(self): service_dict = config.merge_service_dicts( {'ports': ['10:8000', '9000']}, {'ports': ['20:8000']}, ) self.assertEqual(set(service_dict['ports']), set(['10:8000', '9000', '20:8000']))
def test_no_override(self): service_dict = config.merge_service_dicts( {self.config_name(): ['/foo:/code', '/data']}, {}, ) self.assertEqual(set(service_dict[self.config_name()]), set(['/foo:/code', '/data']))
def test_no_override(self): service_dict = config.merge_service_dicts( {'volumes': ['/foo:/code', '/data']}, {}, ) self.assertEqual(set(service_dict['volumes']), set(['/foo:/code', '/data']))
def test_remove_explicit_path(self): service_dict = config.merge_service_dicts( {'volumes': ['/foo:/code', '/quux:/data']}, {'volumes': ['/bar:/code', '/data']}, ) self.assertEqual(set(service_dict['volumes']), set(['/bar:/code', '/data']))
def test_no_base(self): service_dict = config.merge_service_dicts( {}, {self.config_name(): ['/bar:/code']}, ) self.assertEqual(set(service_dict[self.config_name()]), set(['/bar:/code']))
def test_no_base(self): service_dict = config.merge_service_dicts( {}, {'dns': '8.8.8.8'}, ) self.assertEqual(set(service_dict['dns']), set(['8.8.8.8']))
def test_no_base(self): service_dict = config.merge_service_dicts( {}, {'ports': ['10:8000', '9000']}, ) self.assertEqual(set(service_dict['ports']), set(['10:8000', '9000']))
def test_no_base(self): service_dict = config.merge_service_dicts({}, {"dns": "8.8.8.8"}) self.assertEqual(set(service_dict["dns"]), set(["8.8.8.8"]))
def test_merge_volumes_remove_explicit_path(self): service_dict = config.merge_service_dicts( {'volumes': ['/foo:/code', '/quux:/data']}, {'volumes': ['/bar:/code', '/data']}, ) self.assertEqual(set(service_dict['volumes']), set(['/bar:/code', '/data']))
def test_merge_volumes_no_override(self): service_dict = config.merge_service_dicts( {'volumes': ['/foo:/code', '/data']}, {}, ) self.assertEqual(set(service_dict['volumes']), set(['/foo:/code', '/data']))
def test_no_base(self): service_dict = config.merge_service_dicts( config.make_service_dict("foo", {}), config.make_service_dict("foo", {"labels": ["foo=2"]}) ) self.assertEqual(service_dict["labels"], {"foo": "2"})
def test_add_explicit_value(self): service_dict = config.merge_service_dicts( make_service_dict('foo', {'labels': ['foo=1', 'bar']}, 'tests/'), make_service_dict('foo', {'labels': ['bar=2']}, 'tests/'), ) self.assertEqual(service_dict['labels'], {'foo': '1', 'bar': '2'})
def test_remove_explicit_value(self): service_dict = config.merge_service_dicts( config.make_service_dict("foo", {"labels": ["foo=1", "bar=2"]}), config.make_service_dict("foo", {"labels": ["bar"]}), ) self.assertEqual(service_dict["labels"], {"foo": "1", "bar": ""})
def test_empty(self): service_dict = config.merge_service_dicts({}, {}) self.assertNotIn(self.config_name(), service_dict)
def test_add_explicit_value(self): service_dict = config.merge_service_dicts( config.make_service_dict('foo', {'labels': ['foo=1', 'bar']}), config.make_service_dict('foo', {'labels': ['bar=2']}), ) self.assertEqual(service_dict['labels'], {'foo': '1', 'bar': '2'})
def test_merge_build_or_image_override_with_other(self): self.assertEqual(config.merge_service_dicts({"build": "."}, {"image": "redis"}), {"image": "redis"}) self.assertEqual(config.merge_service_dicts({"image": "redis"}, {"build": "."}), {"build": "."})
def test_merge_build_or_image_override_with_same(self): self.assertEqual(config.merge_service_dicts({"build": "."}, {"build": "./web"}), {"build": "./web"}) self.assertEqual(config.merge_service_dicts({"image": "redis"}, {"image": "postgres"}), {"image": "postgres"})
def test_remove_explicit_path(self): service_dict = config.merge_service_dicts( {self.config_name(): ["/foo:/code", "/quux:/data"]}, {self.config_name(): ["/bar:/code", "/data"]} ) self.assertEqual(set(service_dict[self.config_name()]), set(["/bar:/code", "/data"]))
def test_empty(self): service_dict = config.merge_service_dicts({}, {}) self.assertNotIn('volumes', service_dict)
def test_no_override(self): service_dict = config.merge_service_dicts( config.make_service_dict("foo", {"labels": ["foo=1", "bar"]}), config.make_service_dict("foo", {}) ) self.assertEqual(service_dict["labels"], {"foo": "1", "bar": ""})
def test_no_base(self): service_dict = config.merge_service_dicts( {}, {'volumes': ['/bar:/code']}, ) self.assertEqual(set(service_dict['volumes']), set(['/bar:/code']))
def test_merge_volumes_empty(self): service_dict = config.merge_service_dicts({}, {}) self.assertNotIn('volumes', service_dict)
def test_empty(self): service_dict = config.merge_service_dicts({}, {}) self.assertNotIn('labels', service_dict)
def test_merge_volumes_no_base(self): service_dict = config.merge_service_dicts( {}, {'volumes': ['/bar:/code']}, ) self.assertEqual(set(service_dict['volumes']), set(['/bar:/code']))
def test_no_base(self): service_dict = config.merge_service_dicts( make_service_dict('foo', {}, 'tests/'), make_service_dict('foo', {'labels': ['foo=2']}, 'tests/'), ) self.assertEqual(service_dict['labels'], {'foo': '2'})
def test_add_list(self): service_dict = config.merge_service_dicts({"dns": "8.8.8.8"}, {"dns": ["9.9.9.9"]}) self.assertEqual(set(service_dict["dns"]), set(["8.8.8.8", "9.9.9.9"]))
def test_add_item(self): service_dict = config.merge_service_dicts({"ports": ["10:8000", "9000"]}, {"ports": ["20:8000"]}) self.assertEqual(set(service_dict["ports"]), set(["10:8000", "9000", "20:8000"]))
def test_remove_explicit_value(self): service_dict = config.merge_service_dicts( config.make_service_dict('foo', {'labels': ['foo=1', 'bar=2']}), config.make_service_dict('foo', {'labels': ['bar']}), ) self.assertEqual(service_dict['labels'], {'foo': '1', 'bar': ''})
def test_add_list(self): service_dict = config.merge_service_dicts( {'dns': '8.8.8.8'}, {'dns': ['9.9.9.9']}, ) self.assertEqual(set(service_dict['dns']), set(['8.8.8.8', '9.9.9.9']))
def test_no_override(self): service_dict = config.merge_service_dicts({self.config_name(): ["/foo:/code", "/data"]}, {}) self.assertEqual(set(service_dict[self.config_name()]), set(["/foo:/code", "/data"]))
def test_no_override(self): service_dict = config.merge_service_dicts( make_service_dict('foo', {'labels': ['foo=1', 'bar']}, 'tests/'), make_service_dict('foo', {}, 'tests/'), ) self.assertEqual(service_dict['labels'], {'foo': '1', 'bar': ''})
def test_remove_explicit_value(self): service_dict = config.merge_service_dicts( make_service_dict('foo', {'labels': ['foo=1', 'bar=2']}, 'tests/'), make_service_dict('foo', {'labels': ['bar']}, 'tests/'), ) self.assertEqual(service_dict['labels'], {'foo': '1', 'bar': ''})
def test_no_override(self): service_dict = config.merge_service_dicts( config.make_service_dict('foo', {'labels': ['foo=1', 'bar']}), config.make_service_dict('foo', {}), ) self.assertEqual(service_dict['labels'], {'foo': '1', 'bar': ''})
def test_override_explicit_path(self): service_dict = config.merge_service_dicts( {self.config_name(): ['/foo:/code', '/data']}, {self.config_name(): ['/bar:/code']}, ) self.assertEqual(set(service_dict[self.config_name()]), set(['/bar:/code', '/data']))
def test_no_base(self): service_dict = config.merge_service_dicts( config.make_service_dict('foo', {}), config.make_service_dict('foo', {'labels': ['foo=2']}), ) self.assertEqual(service_dict['labels'], {'foo': '2'})