Exemplo n.º 1
0
def test__retrieve_entries__405_response():
    """Confirms 405 response from retrieve entries with incorrect method."""
    # Start required patches
    patch_permission.start()
    importlib.reload(views)
    patch_retrieve_pending_entries.start()

    # Create request, view, and response
    request = RequestFactory()
    request.method = 'GET'
    response = views.retrieve_entries(request)

    # Confirm status code
    assert response.status_code == 405

    # Confirm content is attached to response
    content = json.loads(response.content)
    assert 'success' in content
    assert content['success'] is False
    assert 'status_code' in content
    assert isinstance(content['status_code'], int)
    assert content['status_code'] == 405
    assert 'errors' in content
    assert isinstance(content['errors'], list)
    assert content['errors'] == ['Only "POST" method is allowed.']

    # Stop permission patch
    patch_permission.stop()
    patch_retrieve_pending_entries.stop()
    importlib.reload(views)
Exemplo n.º 2
0
def test__retrieve_entrires__handles_nonexistent_model():
    """Tests retrieve_entries for handling nonexistent model.

        Uses the HC DPD app SubBrand model for these tests.
    """
    # Start required patches
    patch_permission.start()
    importlib.reload(views)
    patch_retrieve_pending_entries_lookup_error.start()

    # Create request, view, and response
    request = RequestFactory()
    request.method = 'POST'
    request.POST = {'app_id': 1, 'last_id': 2, 'request_num': 3}
    response = views.retrieve_entries(request)

    # Confirm status code
    assert response.status_code == 400

    # Confirm content is attached to response
    content = json.loads(response.content)
    assert 'success' in content
    assert content['success'] is False
    assert 'status_code' in content
    assert isinstance(content['status_code'], int)
    assert content['status_code'] == 400
    assert 'errors' in content
    assert isinstance(content['errors'], list)
    assert content['errors'] == ['Unable to locate model for app_id = 1']

    # Stop permission patch
    patch_permission.stop()
    patch_retrieve_pending_entries_lookup_error.stop()
    importlib.reload(views)
Exemplo n.º 3
0
def test__retrieve_entries__400_response__missing_all_data():
    """Confirms 400 response when no POST data."""
    # Start required patches
    patch_permission.start()
    importlib.reload(views)
    patch_retrieve_pending_entries.start()

    # Create request, view, and response
    request = RequestFactory()
    request.method = 'POST'
    request.POST = {}
    response = views.retrieve_entries(request)

    # Confirm status code
    assert response.status_code == 400

    # Confirm content is attached to response
    content = json.loads(response.content)
    assert 'success' in content
    assert content['success'] is False
    assert 'status_code' in content
    assert isinstance(content['status_code'], int)
    assert content['status_code'] == 400
    assert 'errors' in content
    assert isinstance(content['errors'], list)
    assert content['errors'] == [
        'Request missing arguments: app_id, last_id, request_num'
    ]

    # Stop permission patch
    patch_permission.stop()
    patch_retrieve_pending_entries.stop()
    importlib.reload(views)
Exemplo n.º 4
0
def test__retrieve_entries__200_response():
    """Confirms retrieve entries view returns 200 response."""
    # Start required patches
    patch_permission.start()
    importlib.reload(views)
    patch_retrieve_pending_entries.start()

    # Create request, view, and response
    request = RequestFactory()
    request.method = 'POST'
    request.POST = {'app_id': 1, 'last_id': 2, 'request_num': 3}
    response = views.retrieve_entries(request)

    # Confirm status code
    assert response.status_code == 200

    # Confirm content is attached to response
    content = json.loads(response.content)
    assert 'content' in content
    assert 'TEST FUNCTION' in content['content']

    # Stop permission patch
    patch_permission.stop()
    patch_retrieve_pending_entries.stop()
    importlib.reload(views)