как получить полезную нагрузку от flask test_client? - PullRequest
0 голосов
/ 24 февраля 2020

Как отправить полезную нагрузку с помощью post на flask test_client?

Светильник с test_client

@pytest.fixture
def test_client():
    app = create_app(configuration_name="testing")
    return app.test_client()

Полезная нагрузка, которую я пытаюсь отправить

@pytest.fixture
def selection_payload():
    return {
        'name': 'random-selection-name',
        'description': 'mock-selection-description',
        'products_skus': ['123', '456']
    }

Тест:

def test_can_create_selection(self, test_client, selection_payload):
    response = test_client.post(
        self.ENDPOINT,
        data=selection_payload
    )

    assert response.status_code == HTTPStatus.CREATED

Когда я пытаюсь получить доступ к полезной нагрузке, используя api.payload, значение равно None, я также пытаюсь импортировать request.get_json() из flask

def post(self):
    try:
        selection = Selection(**api.payload) # api.payload is None
        result = selection.save()
    except NotUniqueError:
        api.abort(HTTPStatus.CONFLICT, 'code already exist.')

    return result
...