diff --git a/tests/helpers.py b/tests/helpers.py deleted file mode 100644 index b7614b93d..000000000 --- a/tests/helpers.py +++ /dev/null @@ -1,12 +0,0 @@ -from uuid import UUID - -from sure import assertion - - -@assertion -def match_uuid4(context): - try: - uuid_obj = UUID(context.obj, version=4) - except ValueError: - return False - return str(uuid_obj) == context.obj diff --git a/tests/test_redshiftdata/test_redshiftdata.py b/tests/test_redshiftdata/test_redshiftdata.py index fa8f08ac6..6679eb4f7 100644 --- a/tests/test_redshiftdata/test_redshiftdata.py +++ b/tests/test_redshiftdata/test_redshiftdata.py @@ -1,7 +1,7 @@ import boto3 -import pytest -import sure # noqa # pylint: disable=unused-import from botocore.exceptions import ClientError +import pytest + from moto import mock_redshiftdata from tests.test_redshiftdata.test_redshiftdata_constants import ErrorAttributes @@ -112,7 +112,7 @@ def test_execute_statement_and_cancel_statement(client): # Cancel statement cancel_response = client.cancel_statement(Id=execute_response["Id"]) - cancel_response["Status"].should.equal(True) + assert cancel_response["Status"] is True @mock_redshiftdata @@ -137,13 +137,13 @@ def test_execute_statement_and_describe_statement(client): # Describe statement describe_response = client.describe_statement(Id=execute_response["Id"]) - describe_response["ClusterIdentifier"].should.equal(cluster_identifier) - describe_response["Database"].should.equal(database) - describe_response["DbUser"].should.equal(db_user) - describe_response["QueryParameters"].should.equal(parameters) - describe_response["SecretArn"].should.equal(secret_arn) - describe_response["QueryString"].should.equal(sql) - describe_response["Status"].should.equal("STARTED") + assert describe_response["ClusterIdentifier"] == cluster_identifier + assert describe_response["Database"] == database + assert describe_response["DbUser"] == db_user + assert describe_response["QueryParameters"] == parameters + assert describe_response["SecretArn"] == secret_arn + assert describe_response["QueryString"] == sql + assert describe_response["Status"] == "STARTED" @mock_redshiftdata @@ -168,15 +168,15 @@ def test_execute_statement_and_get_statement_result(client): # Get statement result result_response = client.get_statement_result(Id=execute_response["Id"]) - result_response["ColumnMetadata"][0]["name"].should.equal("Number") - result_response["ColumnMetadata"][1]["name"].should.equal("Street") - result_response["ColumnMetadata"][2]["name"].should.equal("City") - result_response["Records"][0][0]["longValue"].should.equal(10) - result_response["Records"][1][1]["stringValue"].should.equal("Beta st") - result_response["Records"][2][2]["stringValue"].should.equal("Seattle") + assert result_response["ColumnMetadata"][0]["name"] == "Number" + assert result_response["ColumnMetadata"][1]["name"] == "Street" + assert result_response["ColumnMetadata"][2]["name"] == "City" + assert result_response["Records"][0][0]["longValue"] == 10 + assert result_response["Records"][1][1]["stringValue"] == "Beta st" + assert result_response["Records"][2][2]["stringValue"] == "Seattle" def assert_expected_exception(raised_exception, expected_exception, expected_message): error = raised_exception.value.response[ErrorAttributes.ERROR] - error[ErrorAttributes.CODE].should.equal(expected_exception) - error[ErrorAttributes.MESSAGE].should.equal(expected_message) + assert error[ErrorAttributes.CODE] == expected_exception + assert error[ErrorAttributes.MESSAGE] == expected_message diff --git a/tests/test_redshiftdata/test_server.py b/tests/test_redshiftdata/test_server.py index 5c01694d6..92d566114 100644 --- a/tests/test_redshiftdata/test_server.py +++ b/tests/test_redshiftdata/test_server.py @@ -1,13 +1,14 @@ """Test different server responses.""" import json +from uuid import UUID + import pytest -import sure # noqa # pylint: disable=unused-import + import moto.server as server from tests.test_redshiftdata.test_redshiftdata_constants import ( DEFAULT_ENCODING, HttpHeaders, ) -from tests.helpers import match_uuid4 # noqa # pylint: disable=unused-import CLIENT_ENDPOINT = "/" @@ -32,7 +33,7 @@ def test_redshiftdata_cancel_statement_unknown_statement(client): data=json.dumps({"Id": statement_id}), headers=headers("CancelStatement"), ) - response.status_code.should.equal(400) + assert response.status_code == 400 should_return_expected_exception( response, "ResourceNotFoundException", "Query does not exist." ) @@ -45,7 +46,7 @@ def test_redshiftdata_describe_statement_unknown_statement(client): data=json.dumps({"Id": statement_id}), headers=headers("DescribeStatement"), ) - response.status_code.should.equal(400) + assert response.status_code == 400 should_return_expected_exception( response, "ResourceNotFoundException", "Query does not exist." ) @@ -58,7 +59,7 @@ def test_redshiftdata_get_statement_result_unknown_statement(client): data=json.dumps({"Id": statement_id}), headers=headers("GetStatementResult"), ) - response.status_code.should.equal(400) + assert response.status_code == 400 should_return_expected_exception( response, "ResourceNotFoundException", "Query does not exist." ) @@ -72,14 +73,16 @@ def test_redshiftdata_execute_statement_with_minimal_values(client): data=json.dumps({"Database": database, "Sql": sql}), headers=headers("ExecuteStatement"), ) - response.status_code.should.equal(200) + assert response.status_code == 200 payload = get_payload(response) - payload["ClusterIdentifier"].should.equal(None) - payload["Database"].should.equal(database) - payload["DbUser"].should.equal(None) - payload["SecretArn"].should.equal(None) - payload["Id"].should.match_uuid4() + assert payload["ClusterIdentifier"] is None + assert payload["Database"] == database + assert payload["DbUser"] is None + assert payload["SecretArn"] is None + + uuid_obj = UUID(payload["Id"], version=4) + assert str(uuid_obj) == payload["Id"] def test_redshiftdata_execute_statement_with_all_values(client): @@ -102,13 +105,13 @@ def test_redshiftdata_execute_statement_with_all_values(client): ), headers=headers("ExecuteStatement"), ) - response.status_code.should.equal(200) + assert response.status_code == 200 payload = get_payload(response) - payload["ClusterIdentifier"].should.equal(cluster) - payload["Database"].should.equal(database) - payload["DbUser"].should.equal(dbUser) - payload["SecretArn"].should.equal(secretArn) + assert payload["ClusterIdentifier"] == cluster + assert payload["Database"] == database + assert payload["DbUser"] == dbUser + assert payload["SecretArn"] == secretArn def test_redshiftdata_execute_statement_and_describe_statement(client): @@ -132,7 +135,7 @@ def test_redshiftdata_execute_statement_and_describe_statement(client): ), headers=headers("ExecuteStatement"), ) - execute_response.status_code.should.equal(200) + assert execute_response.status_code == 200 execute_payload = get_payload(execute_response) # DescribeStatement @@ -141,13 +144,13 @@ def test_redshiftdata_execute_statement_and_describe_statement(client): data=json.dumps({"Id": execute_payload["Id"]}), headers=headers("DescribeStatement"), ) - describe_response.status_code.should.equal(200) + assert describe_response.status_code == 200 describe_payload = get_payload(execute_response) - describe_payload["ClusterIdentifier"].should.equal(cluster) - describe_payload["Database"].should.equal(database) - describe_payload["DbUser"].should.equal(dbUser) - describe_payload["SecretArn"].should.equal(secretArn) + assert describe_payload["ClusterIdentifier"] == cluster + assert describe_payload["Database"] == database + assert describe_payload["DbUser"] == dbUser + assert describe_payload["SecretArn"] == secretArn def test_redshiftdata_execute_statement_and_get_statement_result(client): @@ -160,7 +163,7 @@ def test_redshiftdata_execute_statement_and_get_statement_result(client): data=json.dumps({"Database": database, "Sql": sql}), headers=headers("ExecuteStatement"), ) - execute_response.status_code.should.equal(200) + assert execute_response.status_code == 200 execute_payload = get_payload(execute_response) # GetStatementResult @@ -169,21 +172,21 @@ def test_redshiftdata_execute_statement_and_get_statement_result(client): data=json.dumps({"Id": execute_payload["Id"]}), headers=headers("GetStatementResult"), ) - statement_result_response.status_code.should.equal(200) + assert statement_result_response.status_code == 200 statement_result_payload = get_payload(statement_result_response) - statement_result_payload["TotalNumberRows"].should.equal(3) + assert statement_result_payload["TotalNumberRows"] == 3 # columns - len(statement_result_payload["ColumnMetadata"]).should.equal(3) - statement_result_payload["ColumnMetadata"][0]["name"].should.equal("Number") - statement_result_payload["ColumnMetadata"][1]["name"].should.equal("Street") - statement_result_payload["ColumnMetadata"][2]["name"].should.equal("City") + assert len(statement_result_payload["ColumnMetadata"]) == 3 + assert statement_result_payload["ColumnMetadata"][0]["name"] == "Number" + assert statement_result_payload["ColumnMetadata"][1]["name"] == "Street" + assert statement_result_payload["ColumnMetadata"][2]["name"] == "City" # records - len(statement_result_payload["Records"]).should.equal(3) - statement_result_payload["Records"][0][0]["longValue"].should.equal(10) - statement_result_payload["Records"][1][1]["stringValue"].should.equal("Beta st") - statement_result_payload["Records"][2][2]["stringValue"].should.equal("Seattle") + assert len(statement_result_payload["Records"]) == 3 + assert statement_result_payload["Records"][0][0]["longValue"] == 10 + assert statement_result_payload["Records"][1][1]["stringValue"] == "Beta st" + assert statement_result_payload["Records"][2][2]["stringValue"] == "Seattle" def test_redshiftdata_execute_statement_and_cancel_statement(client): @@ -196,7 +199,7 @@ def test_redshiftdata_execute_statement_and_cancel_statement(client): data=json.dumps({"Database": database, "Sql": sql}), headers=headers("ExecuteStatement"), ) - execute_response.status_code.should.equal(200) + assert execute_response.status_code == 200 execute_payload = get_payload(execute_response) # CancelStatement 1 @@ -205,9 +208,9 @@ def test_redshiftdata_execute_statement_and_cancel_statement(client): data=json.dumps({"Id": execute_payload["Id"]}), headers=headers("CancelStatement"), ) - cancel_response1.status_code.should.equal(200) + assert cancel_response1.status_code == 200 cancel_payload1 = get_payload(cancel_response1) - cancel_payload1["Status"].should.equal(True) + assert cancel_payload1["Status"] is True # CancelStatement 2 cancel_response2 = client.post( @@ -215,11 +218,14 @@ def test_redshiftdata_execute_statement_and_cancel_statement(client): data=json.dumps({"Id": execute_payload["Id"]}), headers=headers("CancelStatement"), ) - cancel_response2.status_code.should.equal(400) + assert cancel_response2.status_code == 400 should_return_expected_exception( cancel_response2, "ValidationException", - f"Could not cancel a query that is already in ABORTED state with ID: {execute_payload['Id']}", + ( + "Could not cancel a query that is already in ABORTED state " + f"with ID: {execute_payload['Id']}" + ), ) @@ -229,5 +235,5 @@ def get_payload(response): def should_return_expected_exception(response, expected_exception, message): result_data = get_payload(response) - response.headers.get(HttpHeaders.ErrorType).should.equal(expected_exception) - result_data["message"].should.equal(message) + assert response.headers.get(HttpHeaders.ErrorType) == expected_exception + assert result_data["message"] == message