def test_find_month(self): """4.5.5.1 Find related month for article.""" run_commands(load.commands_from_data([ENTRY_VALUES])) res = run_query("MATCH(a:Article)-[:PUBLISHED_IN]->(r:Month) " " RETURN r") self.assertThat(res.json()["data"][0][0]["data"]["name"], Equals("November"))
def test_find_month(self): """4.5.5.1 Find related month for article.""" run_commands(load.commands_from_data([ENTRY_VALUES])) res = run_query("MATCH(a:Article)-[:PUBLISHED_IN]->(r:Month) " " RETURN r") self.assertThat(res.json()["data"][0][0]["data"]["name"], Equals("November"))
def test_find_country(self): """4.5.5.1 Find related country for article.""" run_commands(load.commands_from_data([ENTRY_VALUES])) res = run_query("MATCH(a:Article)-[:ORIGINATED_IN]->(r:Country) " " RETURN r") self.assertThat(res.json()["data"][0][0]["data"]["name"], Equals("Australia"))
def test_find_country(self): """4.5.5.1 Find related country for article.""" run_commands(load.commands_from_data([ENTRY_VALUES])) res = run_query("MATCH(a:Article)-[:ORIGINATED_IN]->(r:Country) " " RETURN r") self.assertThat(res.json()["data"][0][0]["data"]["name"], Equals("Australia"))
def test_throw_exception_if_network_connection_fails(self): """4.5.5.2 Throw exception if network connection is down.""" with mock.patch("socket.socket") as MockSocket: def raise_socket_error(*args): """Raise socket error.""" del args raise socket.error() MockSocket.return_value.connect = raise_socket_error with ExpectedException(requests.exceptions.ConnectionError): run_commands(load.commands_from_data([ENTRY_VALUES]))
def test_throw_exception_if_network_connection_fails(self): """4.5.5.2 Throw exception if network connection is down.""" with mock.patch("socket.socket") as MockSocket: def raise_socket_error(*args): """Raise socket error.""" del args raise socket.error() MockSocket.return_value.connect = raise_socket_error with ExpectedException(requests.exceptions.ConnectionError): run_commands(load.commands_from_data([ENTRY_VALUES]))
def test_find_all_in_country(self): """4.5.5.1 Find all articles that match a country.""" values = [ENTRY_VALUES.copy(), ENTRY_VALUES.copy(), ENTRY_VALUES.copy()] # Make the last entry something else so that we can assert that two # matched values[1]["pmid"] = "111112" values[2]["pmid"] = "111113" values[2]["country"] = "China" run_commands(load.commands_from_data(values)) res = run_query("MATCH(a:Article)-[:ORIGINATED_IN]->(r:Country) " " WHERE r.name =\"Australia\" RETURN Count(a)") self.assertThat(res.json()["data"][0][0], Equals(2))
def test_find_all_in_country(self): """4.5.5.1 Find all articles that match a country.""" values = [ ENTRY_VALUES.copy(), ENTRY_VALUES.copy(), ENTRY_VALUES.copy() ] # Make the last entry something else so that we can assert that two # matched values[1]["pmid"] = "111112" values[2]["pmid"] = "111113" values[2]["country"] = "China" run_commands(load.commands_from_data(values)) res = run_query("MATCH(a:Article)-[:ORIGINATED_IN]->(r:Country) " " WHERE r.name =\"Australia\" RETURN Count(a)") self.assertThat(res.json()["data"][0][0], Equals(2))
def test_find_author(self): """4.5.5.1 Find related author for article.""" run_commands(load.commands_from_data([ENTRY_VALUES])) res = run_query("MATCH(a:Article)-[:AUTHORED_BY]->(r:Author) RETURN r") self.assertThat(res.json()["data"][0][0]["data"]["name"], Equals("fore_name last_name"))
def test_run_query_against_article(self, query, value): """4.5.5.1 Can run query to obtain entered data.""" run_commands(load.commands_from_data([ENTRY_VALUES])) res = run_query(query).json() self.assertThat(res["data"][0][0]["data"], Equals(value))
def test_create_article(self): """4.5.5.0 Can create article.""" run_commands(load.commands_from_data([ENTRY_VALUES]))
def test_find_author(self): """4.5.5.1 Find related author for article.""" run_commands(load.commands_from_data([ENTRY_VALUES])) res = run_query("MATCH(a:Article)-[:AUTHORED_BY]->(r:Author) RETURN r") self.assertThat(res.json()["data"][0][0]["data"]["name"], Equals("fore_name last_name"))
def test_run_query_against_article(self, query, value): """4.5.5.1 Can run query to obtain entered data.""" run_commands(load.commands_from_data([ENTRY_VALUES])) res = run_query(query).json() self.assertThat(res["data"][0][0]["data"], Equals(value))
def test_create_article(self): """4.5.5.0 Can create article.""" run_commands(load.commands_from_data([ENTRY_VALUES]))