def runTestCase(swagger, tagSet, testCaseKey, testCaseValues):
    url = getUrl(swagger, testCaseValues)
    tag = getTag(swagger, testCaseValues, tagSet)
    method = swagger.getFilteredSetting(integration.METHOD, testCaseValues)
    verb = swagger.getFilteredSetting(integration.VERB, testCaseValues)
    authorizaton = getAuthoization(swagger, testCaseValues)
    processingTime = swagger.getFilteredSetting(integration.PROCESSING_TIME,
                                                testCaseValues)
    pathVariableSet = swagger.getFilteredSetting(integration.PATH_VARIABLE_SET,
                                                 testCaseValues)
    payload = swagger.getFilteredSetting(integration.REQUEST, testCaseValues)
    expectedResponse = swagger.getFilteredSetting(
        integration.EXPECTED_RESPONSE, testCaseValues)
    ignoreKeyList = getIgnoreKeyList(swagger, testCaseValues)
    response = swagger.runTest(url, tag, method, verb, authorizaton,
                               processingTime, pathVariableSet, payload,
                               expectedResponse)

    filteredExpectedResponseAsDict = ObjectHelper.filterIgnoreKeyList(
        getObjectAsJson(swagger, expectedResponse), ignoreKeyList)
    filteredResponseAsDict = ObjectHelper.filterIgnoreKeyList(
        getObjectAsJson(swagger, response), ignoreKeyList)
    success = ObjectHelper.equal(filteredResponseAsDict,
                                 filteredExpectedResponseAsDict)
    print(f'''
        {testCaseKey}
        ''')
    if success:
        logContent = f'''
        {integration.SUCCESS_MESSAGE}'''
    else:
        logContent = f'''Test-failed :
        {integration.URL} ==> {url}
        {integration.TAG} ==> {tag}
        {integration.METHOD} ==> {method}
        {integration.VERB} ==> {verb}
        {integration.PROCESSING_TIME} ==> {processingTime}
        {integration.PATH_VARIABLE_SET} ==> {pathVariableSet}
        {integration.REQUEST} ==> {payload}
        {integration.EXPECTED_RESPONSE} ==> {expectedResponse}
        {integration.RESPONSE} ==> {response}'''
    print(logContent + '\n\n')
    return persistLog(swagger, testCaseKey, logContent)
Esempio n. 2
0
def mustIgnoreKeyCorrectly():
    # arrange
    expected = {**{}, **DICTIONARY_INSTANCE}
    anotherDictionaryInstance = {**{}, **DICTIONARY_INSTANCE}
    IGNORABLE_KEY = 'ignorableKey'
    anotherDictionaryInstance[IGNORABLE_KEY] = 'ignorableValue'

    # act
    toAssert = ObjectHelper.filterIgnoreKeyList(anotherDictionaryInstance,
                                                [IGNORABLE_KEY])

    # assert
    assert ObjectHelper.equals(expected, toAssert)