def test_create_alternatives(self): conf = {"HM_ALTERNATIVE_CONFIG_COUNT": "3"} conf.update({"HOST_ID": "fake-1"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 0) conf.update({"HOST_ID": "fake-2"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 1) conf.update({"HOST_ID": "fake-3"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 2) conf.update({"HOST_ID": "fake-4"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 0) conf.update({"HOST_ID": "fake-5"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 1) conf.update({"HOST_ID": "fake-6"}) host = Host.create('fake', 'another-group', conf) self.assertEqual(host.alternative_id, 0) hosts = Host.list(filters={'alternative_id': 0}) self.assertEqual(len(hosts), 3) hosts = Host.list(filters={'alternative_id': 1}) self.assertEqual(len(hosts), 2) hosts = Host.list(filters={'alternative_id': 2}) self.assertEqual(len(hosts), 1)
def test_list(self): h1 = Host.create('fake', 'my-group1', {"HOST_ID": "fake-id-1"}) h2 = Host.create('fake', 'my-group1', {"HOST_ID": "fake-id-2"}) h3 = Host.create('fake', 'my-group2', {"HOST_ID": "fake-id-3"}) conf = {'MY_CONF': 1} hosts = Host.list(conf=conf) self.assertDictEqual(hosts[0].config, conf) self.assertDictEqual(hosts[1].config, conf) self.assertDictEqual(hosts[2].config, conf) self.assertItemsEqual([h.to_json() for h in hosts], [h1.to_json(), h2.to_json(), h3.to_json()]) hosts = Host.list({'group': 'my-group1'}) self.assertItemsEqual([h.to_json() for h in hosts], [h1.to_json(), h2.to_json()])
def test_create_alternatives_ignore_failure_and_try_next(self): conf = { "HM_ALTERNATIVE_CONFIG_COUNT": "4", "ALTERNATIVE_IDS_FAILURES": "1,2" } conf.update({"HOST_ID": "fake-1"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 0) conf.update({"HOST_ID": "fake-2"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 3) conf.update({"HOST_ID": "fake-3"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 0) conf.update({"HOST_ID": "fake-4"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 3) conf.update({"HOST_ID": "fake-5"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 0) conf.update({"HOST_ID": "fake-6"}) host = Host.create('fake', 'another-group', conf) self.assertEqual(host.alternative_id, 0) hosts = Host.list(filters={'alternative_id': 0}) self.assertEqual(len(hosts), 4) hosts = Host.list(filters={'alternative_id': 1}) self.assertEqual(len(hosts), 0) hosts = Host.list(filters={'alternative_id': 2}) self.assertEqual(len(hosts), 0) hosts = Host.list(filters={'alternative_id': 3}) self.assertEqual(len(hosts), 2) conf = { "HM_ALTERNATIVE_CONFIG_COUNT": "4", "ALTERNATIVE_IDS_FAILURES": "" } conf.update({"HOST_ID": "fake-7"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 1) conf.update({"HOST_ID": "fake-8"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 2) conf.update({"HOST_ID": "fake-9"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 1) conf.update({"HOST_ID": "fake-10"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 2) conf.update({"HOST_ID": "fake-11"}) host = Host.create('fake', 'my-group', conf) self.assertEqual(host.alternative_id, 1) conf.update({"HOST_ID": "fake-12"}) host = Host.create('fake', 'another-group', conf) self.assertEqual(host.alternative_id, 1) hosts = Host.list(filters={'alternative_id': 0}) self.assertEqual(len(hosts), 4) hosts = Host.list(filters={'alternative_id': 1}) self.assertEqual(len(hosts), 4) hosts = Host.list(filters={'alternative_id': 2}) self.assertEqual(len(hosts), 2) hosts = Host.list(filters={'alternative_id': 3}) self.assertEqual(len(hosts), 2)