class UpdateManagerTest(UnitTestBase): def setUp(self): super(UpdateManagerTest, self).setUp() self.test_wrapper = SearchTestWrapper(self.search_container) self.update_manager = self.search_container.update_manager data = [ utils.get_meta("test_key"), utils.get_meta("delete"), utils.get_meta("old"), # In another bucket utils.get_meta("other", "/other/artifact/other") ] self.test_wrapper.setup_metadata(data) def tearDown(self): self.test_wrapper.teardown_metadata() def test_remove_all_old_docs(self): key_list = ["test_key"] deleted = self.update_manager.remove_unlisted_documents(key_list) self.assertEqual(3, deleted) self.assertEqual(None, self.test_wrapper.get_metadata("delete")) self.assertEqual(None, self.test_wrapper.get_metadata("old")) self.assertEqual(None, self.test_wrapper.get_metadata("other")) def test_remove_old_docs_per_bucket(self): key_list = ["test_key"] deleted = self.update_manager.remove_unlisted_documents_per_bucket(key_list, "test") self.assertEqual(2, deleted) self.assertEqual(None, self.test_wrapper.get_metadata("delete")) self.assertEqual(None, self.test_wrapper.get_metadata("old")) def test_remove_documents_wildcard(self): val_list = [ "/test/artifact/*" ] deleted = self.update_manager.remove_unlisted_documents_wildcard("artifactPath", val_list) self.assertEqual(1, deleted) self.assertEqual(None, self.test_wrapper.get_metadata("other")) def test_bulk_update(self): data = { "test_key": { "name": { "name": "name", "value": "value", "immutable": True } }, "test": { "name": { "name": "name", "value": "value", "immutable": False }, "die": { "name": "die", "value": "no one reads this anyway", "immutable": True } } } self.update_manager.bulk_update(data) first = self.update_manager._get_metadata("test_key").to_dict() second = self.update_manager._get_metadata("test").to_dict() expect_first = data["test_key"].values() expect_second = data["test"].values() self.assertEqual(first["property_list"], expect_first) self.assertEqual(second["property_list"], expect_second) def test_metadata_update(self): self.update_manager.update("test_key", utils.get_meta()) metadata = self.update_manager._get_metadata("test_key") self.assertEqual(metadata.to_dict(), {"property_list": utils.get_meta_elastic()})
class ManagerTest(UnitTestBase): def setUp(self): super(ManagerTest, self).setUp() self.test_wrapper = SearchTestWrapper(self.search_container) self.manager = self.search_container.manager data = [ utils.get_meta(), utils.get_meta("other", "/this/that/other", "1.1"), utils.get_meta("thing", "/thing", "1.2"), utils.get_meta("blah", "/blah", "1.19"), utils.get_meta("a", "/a", "1.19"), utils.get_meta("zzzz", "/zzzz", "1.19"), ] self.test_wrapper.setup_metadata(data) def tearDown(self): self.test_wrapper.teardown_metadata() def test_equality_search(self): results = self.manager.search({ "search": [ { "field": "artifactName", "search_type": SearchType.MATCH, "value": "test" }, { "field": "artifactPath", "search_type": SearchType.WILDCARD, "value": "/test/artifact/tes?" } ] }) expected = [utils.get_meta()] self.asserts.json_equals(expected, results) def test_no_match(self): results = self.manager.search({ "search": [ { "field": "artifactName", "search_type": SearchType.MATCH, "value": "neverrrrrrgonnamattttch" } ] }) self.asserts.json_equals([], results) def test_tilde_search(self): results = self.manager.search({ "search": [ { "field": "version", "search_type": SearchType.VERSION, "value": "1.1" } ] }) expected = [ utils.get_meta("a", "/a", "1.19"), utils.get_meta("blah", "/blah", "1.19"), utils.get_meta("other", "/this/that/other", "1.1"), utils.get_meta("thing", "/thing", "1.2"), utils.get_meta("zzzz", "/zzzz", "1.19"), ] self.asserts.json_equals(expected, results) def test_minor_version_search(self): results = self.manager.search({ "search": [ { "field": "version", "search_type": SearchType.VERSION, "value": "1.19" } ] }) expected = [ utils.get_meta("a", "/a", "1.19"), utils.get_meta("blah", "/blah", "1.19"), utils.get_meta("zzzz", "/zzzz", "1.19"), ] self.asserts.json_equals(expected, results) def test_select_fields(self): results = self.manager.search({ "search": [ { "field": "artifactName", "search_type": SearchType.MATCH, "value": "test" } ] }, ["artifactPath"]) expected = { "artifactPath": { "name": "artifactPath", "value": "/test/artifact/test", "immutable": True } } self.asserts.json_equals(expected, results[0]) def test_dumb_tilde_search(self): results = self.manager.search({ "search": [ { "field": "artifactName", "search_type": SearchType.VERSION, "value": "test" } ] }) expected = [ utils.get_meta(), utils.get_meta("thing", "/thing", "1.2"), utils.get_meta("zzzz", "/zzzz", "1.19"), ] self.asserts.json_equals(expected, results) def test_more_then_ten_results(self): data = [] # In setup 6 documents have already been added. Making an even 20. for i in range(14): data.append(utils.get_meta("mutli-test{0}".format(str(i)))) self.test_wrapper.setup_metadata(data) results = self.manager.search({ "search": [{ "field": "artifactName", "search_type": SearchType.WILDCARD, "value": "*" }] }) self.assertEqual(20, len(results)) def test_utils(self): connection = Connection("http://localhost:9200/index", "test", "test", "test") host = connection.transport.hosts[0] self.assertEqual("localhost", host["host"]) self.assertEqual(9200, host["port"]) self.assertEqual("index", connection.es_index) auth = connection.transport.get_connection().session.auth self.assertEqual("test", auth.aws_access_key) self.assertEqual("test", auth.aws_secret_access_key) self.assertEqual("localhost", auth.aws_host) self.assertEqual("test", auth.aws_region)
class UpdateManagerTest(UnitTestBase): def setUp(self): super(UpdateManagerTest, self).setUp() self.test_wrapper = SearchTestWrapper(self.search_container) self.update_manager = self.search_container.update_manager data = [ utils.get_meta("test_key"), utils.get_meta("delete"), utils.get_meta("old"), # In another bucket utils.get_meta("other", "/other/artifact/other") ] self.test_wrapper.setup_metadata(data) def tearDown(self): self.test_wrapper.teardown_metadata() def test_remove_all_old_docs(self): key_list = ["test_key"] deleted = self.update_manager.remove_unlisted_documents(key_list) self.assertEqual(3, deleted) self.assertEqual(None, self.test_wrapper.get_metadata("delete")) self.assertEqual(None, self.test_wrapper.get_metadata("old")) self.assertEqual(None, self.test_wrapper.get_metadata("other")) def test_remove_old_docs_per_bucket(self): key_list = ["test_key"] deleted = self.update_manager.remove_unlisted_documents_per_bucket( key_list, "test") self.assertEqual(2, deleted) self.assertEqual(None, self.test_wrapper.get_metadata("delete")) self.assertEqual(None, self.test_wrapper.get_metadata("old")) def test_remove_documents_wildcard(self): val_list = ["/test/artifact/*"] deleted = self.update_manager.remove_unlisted_documents_wildcard( "artifactPath", val_list) self.assertEqual(1, deleted) self.assertEqual(None, self.test_wrapper.get_metadata("other")) def test_bulk_update(self): data = { "test_key": { "name": { "name": "name", "value": "value", "immutable": True } }, "test": { "name": { "name": "name", "value": "value", "immutable": False }, "die": { "name": "die", "value": "no one reads this anyway", "immutable": True } } } self.update_manager.bulk_update(data) first = self.update_manager._get_metadata("test_key").to_dict() second = self.update_manager._get_metadata("test").to_dict() expect_first = data["test_key"].values() expect_second = data["test"].values() self.assertEqual(first["property_list"], expect_first) self.assertEqual(second["property_list"], expect_second) def test_metadata_update(self): self.update_manager.update("test_key", utils.get_meta()) metadata = self.update_manager._get_metadata("test_key") self.assertEqual(metadata.to_dict(), {"property_list": utils.get_meta_elastic()})
class ManagerTest(UnitTestBase): def setUp(self): super(ManagerTest, self).setUp() self.test_wrapper = SearchTestWrapper(self.search_container) self.manager = self.search_container.manager data = [ utils.get_meta(), utils.get_meta("other", "/this/that/other", "1.1"), utils.get_meta("thing", "/thing", "1.2"), utils.get_meta("blah", "/blah", "1.19"), utils.get_meta("a", "/a", "1.19"), utils.get_meta("zzzz", "/zzzz", "1.19"), ] self.test_wrapper.setup_metadata(data) def tearDown(self): self.test_wrapper.teardown_metadata() def test_equality_search(self): results = self.manager.search({ "search": [{ "field": "artifactName", "search_type": SearchType.MATCH, "value": "test" }, { "field": "artifactPath", "search_type": SearchType.WILDCARD, "value": "/test/artifact/tes?" }] }) expected = [utils.get_meta()] self.asserts.json_equals(expected, results) def test_no_match(self): results = self.manager.search({ "search": [{ "field": "artifactName", "search_type": SearchType.MATCH, "value": "neverrrrrrgonnamattttch" }] }) self.asserts.json_equals([], results) def test_tilde_search(self): results = self.manager.search({ "search": [{ "field": "version", "search_type": SearchType.VERSION, "value": "1.1" }] }) expected = [ utils.get_meta("a", "/a", "1.19"), utils.get_meta("blah", "/blah", "1.19"), utils.get_meta("other", "/this/that/other", "1.1"), utils.get_meta("thing", "/thing", "1.2"), utils.get_meta("zzzz", "/zzzz", "1.19"), ] self.asserts.json_equals(expected, results) def test_minor_version_search(self): results = self.manager.search({ "search": [{ "field": "version", "search_type": SearchType.VERSION, "value": "1.19" }] }) expected = [ utils.get_meta("a", "/a", "1.19"), utils.get_meta("blah", "/blah", "1.19"), utils.get_meta("zzzz", "/zzzz", "1.19"), ] self.asserts.json_equals(expected, results) def test_select_fields(self): results = self.manager.search( { "search": [{ "field": "artifactName", "search_type": SearchType.MATCH, "value": "test" }] }, ["artifactPath"]) expected = { "artifactPath": { "name": "artifactPath", "value": "/test/artifact/test", "immutable": True } } self.asserts.json_equals(expected, results[0]) def test_dumb_tilde_search(self): results = self.manager.search({ "search": [{ "field": "artifactName", "search_type": SearchType.VERSION, "value": "test" }] }) expected = [ utils.get_meta(), utils.get_meta("thing", "/thing", "1.2"), utils.get_meta("zzzz", "/zzzz", "1.19"), ] self.asserts.json_equals(expected, results) def test_more_then_ten_results(self): data = [] # In setup 6 documents have already been added. Making an even 20. for i in range(14): data.append(utils.get_meta("mutli-test{0}".format(str(i)))) self.test_wrapper.setup_metadata(data) results = self.manager.search({ "search": [{ "field": "artifactName", "search_type": SearchType.WILDCARD, "value": "*" }] }) self.assertEqual(20, len(results)) def test_utils(self): connection = Connection("http://localhost:9200/index", "test", "test", "test") host = connection.transport.hosts[0] self.assertEqual("localhost", host["host"]) self.assertEqual(9200, host["port"]) self.assertEqual("index", connection.es_index) auth = connection.transport.get_connection().session.auth self.assertEqual("test", auth.aws_access_key) self.assertEqual("test", auth.aws_secret_access_key) self.assertEqual("localhost", auth.aws_host) self.assertEqual("test", auth.aws_region)