def test_invalid_password(self, test_client, test_user): test_user["password"] = "******".format(test_user["password"]) response = test_client.post("/authenticate", data=json.dumps(test_user), follow_redirects=True) assert response.status_code == 400 schema = ErrorCodeAndMessageSchema() ecam, errors = schema.load(load_json_data(response)) assert not errors assert ecam == INVALID_USERNAME_OR_PASSWORD
def test_register_user_api_key(self, test_client, test_user): response = test_client.post( "/users/register", headers={"apiKey": standard_user().api_key}, data=json.dumps(test_user), follow_redirects=True) error = ErrorCodeAndMessageSchema().load(load_json_data(response)).data assert error == UNAUTHORIZED
def test_register_invalid_api_key(self, test_client, test_user): response = test_client.post( "/users/register", headers={"apiKey": "NOT_{}".format(admin().api_key)}, data=json.dumps(test_user), follow_redirects=True) error = ErrorCodeAndMessageSchema().load(load_json_data(response)).data assert error == INVALID_API_KEY
def test_missing_properties(self, test_client): response = test_client.post("/authenticate", data=json.dumps({ "notavalid": "NotAValid", "invalid": "Invalid" }), follow_redirects=True) assert response.status_code == 400 schema = ErrorCodeAndMessageSchema() ecam, errors = schema.load(load_json_data(response)) assert not errors assert ecam.error_code == INVALID_MODEL_PROVIDED.error_code assert ecam.error_message == INVALID_MODEL_PROVIDED.error_message assert len(ecam.error_detail) == 2 assert "username" in ecam.error_detail assert "password" in ecam.error_detail
def test_register_already_existing_username(self, test_client, test_user): response = test_client.post("/users/register", headers={"apiKey": admin().api_key}, data=json.dumps(test_user), follow_redirects=True) assert response.status_code == 204 response2 = test_client.post("/users/register", headers={"apiKey": admin().api_key}, data=json.dumps(test_user), follow_redirects=True) error = ErrorCodeAndMessageSchema().load( load_json_data(response2)).data expected_error_code_and_message = copy.deepcopy( USERNAME_ALREADY_EXISTS) expected_error_code_and_message.error_message = expected_error_code_and_message.error_message.format( test_user["username"]) assert error == expected_error_code_and_message
def test_register_missing_api_key(self, test_client, test_user): response = test_client.post("/users/register", data=json.dumps(test_user), follow_redirects=True) error = ErrorCodeAndMessageSchema().load(load_json_data(response)).data assert error == MISSING_API_KEY
def ErrorCodeAndMessageMarshaller(error_code_and_message: ErrorCodeAndMessage): return ErrorCodeAndMessageSchema().dump(error_code_and_message).data
def test_get_content_action_with_only_property_value(self, test_client): response = test_client.get( '/pipelines?propertyValue={}'.format(PropValueOne), headers={"apiKey": standard_user().api_key}) error = ErrorCodeAndMessageSchema().load(load_json_data(response)).data assert error == MISSING_PIPELINE_PROPERTY
def error_from_response(response: Response) -> ErrorCodeAndMessage: return ErrorCodeAndMessageSchema().load(load_json_data(response)).data
from server.common.error_codes_and_messages import errors_as_list from server.resources.models.platform_properties import PlatformProperties from server.resources.models.error_code_and_message import ErrorCodeAndMessageSchema PLATFORM_PROPERTIES = { "platformName": "CARMIN Server 0.1", "APIErrorCodesAndMessages": ErrorCodeAndMessageSchema(many=True).dump(errors_as_list()).data, "supportedTransferProtocols": ["http", "https"], "supportedModules": ["Processing", "Data", "AdvancedData"], "defaultLimitListExecutions": 10, "email": "*****@*****.**", "platformDescription": "A lightweight implementation of the CARMIN 0.3 API Specification", "minAuthorizedExecutionTimeout": 2, "maxAuthorizedExecutionTimeout": 0, "defaultExecutionTimeout": 16384, "unsupportedMethods": ["Management", "Commercial"], "supportedAPIVersion": "0.3", "supportedPipelineProperties": ["Prop1", "Prop2", "Prop3"] }