示例#1
0
    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
示例#4
0
    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
示例#8
0
 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
示例#9
0
def error_from_response(response: Response) -> ErrorCodeAndMessage:
    return ErrorCodeAndMessageSchema().load(load_json_data(response)).data
示例#10
0
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"]
}