示例#1
0
def Function_withSuccess():
    # Arrange
    TEST = RandomHelper.string(minimum=10)

    @Function
    def myFunction(something):
        return TEST, something

    @Function
    def myOtherFunction(something):
        raise Exception(TEST)

    SOMETHING = RandomHelper.string(minimum=10)
    exception = None

    # Act
    myRestult = myFunction(SOMETHING)
    myOtherResult = None
    try:
        myOtherResult = myOtherFunction(SOMETHING)
    except Exception as ext:
        exception = ext

    # Assert
    assert (TEST, SOMETHING) == myRestult
    assert ObjectHelper.isNone(myOtherResult)
    assert ObjectHelper.isNotNone(exception)
    assert TEST == str(exception)
示例#2
0
def enumName():
    # arrange
    @Enum(associateReturnsTo='value', instanceLog=False)
    class MyOtherEnumTest:
        ONE = EnumItem(value=1, otherValue='1')
        TWO = EnumItem(value=2, otherValue='1')
        THREE = EnumItem(value=3, otherValue='1')

    @Enum(associateReturnsTo='value', instanceLog=False)
    class MyThirdEnumTest:
        ONE = EnumItem(value=4, otherValue='1')
        TWO = EnumItem(value=5, otherValue='1')
        THREE = EnumItem(value=6, otherValue='1')

    ITS_NAME = RandomHelper.string(minimum=5, maximum=10)
    A_NAME = RandomHelper.string(minimum=5, maximum=10)
    TEST_NAME = RandomHelper.string(minimum=5, maximum=10)
    ITS_LABEL = RandomHelper.string(minimum=5, maximum=10)
    A_LABEL = RandomHelper.string(minimum=5, maximum=10)
    TEST_LABEL = RandomHelper.string(minimum=5, maximum=10)
    ITS_NUMERIC = RandomHelper.integer(minimum=5, maximum=1000)
    A_NUMERIC = RandomHelper.integer(minimum=5, maximum=1000)
    TEST_NUMERIC = RandomHelper.integer(minimum=5, maximum=1000)
    ITS_VALUE = 'ITS'
    A_VALUE = 'A'
    TEST_VALUE = 'TEST'

    @Enum()
    class MyEnumTest:
        ITS = EnumItem(name=ITS_NAME, label=ITS_LABEL, numeric=ITS_NUMERIC)
        A = EnumItem(name=A_NAME, label=A_LABEL, numeric=A_NUMERIC)
        TEST = EnumItem(name=TEST_NAME, label=TEST_LABEL, numeric=TEST_NUMERIC)

    MY_ENUM_TEST = MyEnumTest()

    # act
    enumType = MY_ENUM_TEST

    # assert
    assert 'OK' == HttpStatus.OK.enumName
    assert 'ONE' == MyOtherEnumTest().ONE.enumName
    assert 'ONE' == MyOtherEnumTest.ONE.enumName
    assert 1 == MyOtherEnumTest.ONE
    assert MyEnumTest.map(MY_ENUM_TEST.ITS.enumValue) == MY_ENUM_TEST.ITS
    assert MyEnumTest.map(MY_ENUM_TEST.ITS) == MY_ENUM_TEST.ITS
    assert MyOtherEnumTest.map(
        MyOtherEnumTest.ONE.enumValue) == MyOtherEnumTest.ONE
    assert MyOtherEnumTest.map(MyOtherEnumTest.ONE) == MyOtherEnumTest.ONE
    assert MyOtherEnumTest.map('ONE') == MyOtherEnumTest.ONE.enumValue
    assert MyOtherEnumTest.map('ONE') == MyOtherEnumTest.ONE
    assert MY_ENUM_TEST.map('TEST') == MyEnumTest.TEST.enumValue
    assert MY_ENUM_TEST.map('TEST') == MyEnumTest.TEST
    assert MyEnumTest == type(enumType)
示例#3
0
def handleEnvironmentChangesProperly_withSuccess_whenActionsHaveNoArguments():
    beforeTestEnvironmentSettings = {**EnvironmentHelper.getSet()}
    inBetweenTestEnvironmentSettings = None
    afterTestEnvironmentSettings = None
    MY_BEFORE_ACTION_RETURN = RandomHelper.string(minimum=10)
    MY_AFTER_ACTION_RETURN = RandomHelper.string(minimum=10)

    # Arrange
    def myBeforeAction():
        return MY_BEFORE_ACTION_RETURN

    def myAfterAction():
        return MY_AFTER_ACTION_RETURN

    def myFunction(a):
        return a

    returns = {}

    @Test(callBefore=myBeforeAction,
          callAfter=myAfterAction,
          returns=returns,
          environmentVariables={
              SettingHelper.ACTIVE_ENVIRONMENT: None,
              **MUTED_LOG_HELPER_SETTINGS
          })
    def myTest():
        inBetweenTestEnvironmentSettings = EnvironmentHelper.getSet()
        assert ObjectHelper.isNotNone(inBetweenTestEnvironmentSettings)
        assert ObjectHelper.isDictionary(inBetweenTestEnvironmentSettings)
        assert 'a' == myFunction('a')
        return inBetweenTestEnvironmentSettings

    # Act
    inBetweenTestEnvironmentSettings = myTest()
    afterTestEnvironmentSettings = {**EnvironmentHelper.getSet()}

    # Assert
    assert MY_BEFORE_ACTION_RETURN == returns['returnOfCallBefore']
    assert MY_AFTER_ACTION_RETURN == returns['returnOfCallAfter']
    assert ObjectHelper.isNotNone(beforeTestEnvironmentSettings)
    assert ObjectHelper.isDictionary(beforeTestEnvironmentSettings)
    assert ObjectHelper.isNotNone(inBetweenTestEnvironmentSettings)
    assert ObjectHelper.isDictionary(inBetweenTestEnvironmentSettings)
    assert ObjectHelper.isNotNone(afterTestEnvironmentSettings)
    assert ObjectHelper.isDictionary(afterTestEnvironmentSettings)
    assert afterTestEnvironmentSettings == beforeTestEnvironmentSettings
    assert not beforeTestEnvironmentSettings == inBetweenTestEnvironmentSettings
示例#4
0
def apiKeyManager_worksProperly():
    # arrange
    SECRET = 'abcd'
    SESSION_DURATION = 10 + 360
    ALGORITHM = 'HS256'
    HEADER_NAME = 'Context'
    HEADER_TYPE = 'ApiKey '
    IDENTITY = RandomHelper.string(minimum=100, maximum=150)
    CONTEXT = 'ABCD'
    CONTEXT_LIST = [CONTEXT]
    DATA = {'personal': 'data'}
    deltaMinutes = DateTimeHelper.timeDelta(minutes=SESSION_DURATION)
    apiKeyManager = ApiKeyManager.JwtManager(SECRET, ALGORITHM, HEADER_NAME,
                                             HEADER_TYPE)
    timeNow = DateTimeHelper.dateTimeNow()
    payload = {
        JwtConstant.KW_IAT: timeNow,
        JwtConstant.KW_NFB: timeNow,
        JwtConstant.KW_JTI:
        f"{int(f'{time.time()}'.replace('.', ''))+int(f'{time.time()}'.replace('.', ''))}",
        JwtConstant.KW_EXPIRATION: timeNow + deltaMinutes,
        JwtConstant.KW_IDENTITY: IDENTITY,
        JwtConstant.KW_FRESH: False,
        JwtConstant.KW_TYPE: JwtConstant.ACCESS_VALUE_TYPE,
        JwtConstant.KW_CLAIMS: {
            JwtConstant.KW_CONTEXT: CONTEXT_LIST,
            JwtConstant.KW_DATA: DATA
        }
    }

    # act
    totalRuns = 10000
    lines = 3
    initTime = time.time()
    for i in range(totalRuns):
        encodedPayload = apiKeyManager.encode(payload)
        decodedPayload = apiKeyManager.decode(encodedPayload)
        accessException = TestHelper.getRaisedException(
            apiKeyManager.validateAccessApiKey, rawJwt=decodedPayload)
    refreshException = TestHelper.getRaisedException(
        apiKeyManager.validateRefreshApiKey, rawJwt=decodedPayload)
    endTime = time.time() - initTime

    # assert
    assert lines * .0001 > endTime / totalRuns, (lines * .0001,
                                                 endTime / totalRuns)
    assert ObjectHelper.equals(payload,
                               decodedPayload), (payload, decodedPayload)
    assert ObjectHelper.isNone(accessException), accessException
    assert ObjectHelper.isNotNone(refreshException), refreshException
    assert ObjectHelper.equals(
        GlobalException.__name__,
        type(refreshException).__name__), (GlobalException.__name__,
                                           type(refreshException).__name__,
                                           refreshException)
    assert ObjectHelper.equals(401, refreshException.status)
    assert ObjectHelper.equals('Invalid apiKey', refreshException.message)
    assert ObjectHelper.equals(
        'Refresh apiKey should have type refresh, but it is access',
        refreshException.logMessage)
示例#5
0
def Method_withSuccess():
    # Arrange
    TEST = RandomHelper.string(minimum=10)

    class MyClass:
        @Method
        def myMethod(self, something):
            return TEST, something

        @Method
        def myOtherMethod(self, something):
            raise Exception(TEST)

    @Method
    def myNotMethod(self, something):
        raise Exception(TEST)

    SOMETHING = RandomHelper.string(minimum=10)
    methodException = None
    notMethodEception = None
    myClass = MyClass()

    # Act
    myRestult = myClass.myMethod(SOMETHING)
    myOtherResult = None
    try:
        myOtherResult = myClass.myOtherMethod(SOMETHING)
    except Exception as ext:
        methodException = ext
    myNotMethodResult = None
    try:
        myNotMethodResult = myNotMethod(None, SOMETHING)
    except Exception as ext:
        notMethodEception = ext
        # print(notMethodEception)

    # Assert
    assert (TEST, SOMETHING) == myRestult
    assert ObjectHelper.isNone(myOtherResult)
    assert ObjectHelper.isNotNone(methodException)
    assert TEST == str(methodException)
    assert ObjectHelper.isNone(myNotMethodResult)
    assert ObjectHelper.isNotNone(notMethodEception)
    assert TEST == str(notMethodEception)
def randomValues():
    # Arrange
    MINIMUM_CUSTOM_RANGE = 30
    MAXIMUM_CUSTOM_RANGE = 10
    OTHER_MINIMUM_CUSTOM_RANGE = 100
    OTHER_MAXIMUM_CUSTOM_RANGE = 200
    MINIMUM_CUSTOM_FLOAT_RANGE = 400.33
    MAXIMUM_CUSTOM_FLOAT_RANGE = 500.55

    # Act
    stringValueInDefaultRange = RandomHelper.string()
    stringValueInCustomRange = RandomHelper.string(
        minimum=MINIMUM_CUSTOM_RANGE, maximum=MAXIMUM_CUSTOM_RANGE)
    stringValueInOtherCustomRange = RandomHelper.string(
        minimum=OTHER_MINIMUM_CUSTOM_RANGE, maximum=OTHER_MAXIMUM_CUSTOM_RANGE)
    integerValueInDefaultRange = RandomHelper.integer()
    integerValueInCustomRange = RandomHelper.integer(
        minimum=MINIMUM_CUSTOM_RANGE, maximum=MAXIMUM_CUSTOM_RANGE)
    integerValueInOtherCustomRange = RandomHelper.integer(
        minimum=OTHER_MINIMUM_CUSTOM_RANGE, maximum=OTHER_MAXIMUM_CUSTOM_RANGE)
    floatValueInDefaultRange = RandomHelper.float()
    floatValueInCustomRange = RandomHelper.float(minimum=MINIMUM_CUSTOM_RANGE,
                                                 maximum=MAXIMUM_CUSTOM_RANGE)
    floatValueInOtherCustomRange = RandomHelper.float(
        minimum=OTHER_MINIMUM_CUSTOM_RANGE, maximum=OTHER_MAXIMUM_CUSTOM_RANGE)
    floatValueInOtherCustomFloatRange = RandomHelper.float(
        minimum=MINIMUM_CUSTOM_FLOAT_RANGE, maximum=MAXIMUM_CUSTOM_FLOAT_RANGE)

    # Assert
    assert RandomHelper.DEFAULT_MINIMUM_LENGHT <= len(
        stringValueInDefaultRange) <= RandomHelper.DEFAULT_MAXIMUM_LENGHT
    assert MINIMUM_CUSTOM_RANGE == len(stringValueInCustomRange)
    assert OTHER_MINIMUM_CUSTOM_RANGE <= len(
        stringValueInOtherCustomRange) <= OTHER_MAXIMUM_CUSTOM_RANGE
    assert RandomHelper.DEFAULT_MINIMUM_LENGHT <= integerValueInDefaultRange <= RandomHelper.DEFAULT_MAXIMUM_LENGHT
    assert MINIMUM_CUSTOM_RANGE == integerValueInCustomRange
    assert OTHER_MINIMUM_CUSTOM_RANGE <= integerValueInOtherCustomRange <= OTHER_MAXIMUM_CUSTOM_RANGE
    assert RandomHelper.DEFAULT_MINIMUM_LENGHT <= floatValueInDefaultRange <= RandomHelper.DEFAULT_MAXIMUM_LENGHT
    assert MINIMUM_CUSTOM_RANGE == floatValueInCustomRange
    assert OTHER_MINIMUM_CUSTOM_RANGE <= floatValueInOtherCustomRange < OTHER_MAXIMUM_CUSTOM_RANGE
    assert MINIMUM_CUSTOM_FLOAT_RANGE <= floatValueInOtherCustomFloatRange <= MAXIMUM_CUSTOM_FLOAT_RANGE
示例#7
0
def enum_withSuccess():
    TEST_ITERATION = 1
    ASSERT_ITERATION = 1
    discount = 0
    instanciationTime = 0
    equalTestTime = 0
    start = time.time()
    for _ in range(TEST_ITERATION):
        # arrange
        discountStart = time.time()
        ITS_NAME = RandomHelper.string(minimum=5, maximum=10)
        A_NAME = RandomHelper.string(minimum=5, maximum=10)
        TEST_NAME = RandomHelper.string(minimum=5, maximum=10)
        ITS_LABEL = RandomHelper.string(minimum=5, maximum=10)
        A_LABEL = RandomHelper.string(minimum=5, maximum=10)
        TEST_LABEL = RandomHelper.string(minimum=5, maximum=10)
        ITS_NUMERIC = RandomHelper.integer(minimum=5, maximum=1000)
        A_NUMERIC = RandomHelper.integer(minimum=5, maximum=1000)
        TEST_NUMERIC = RandomHelper.integer(minimum=5, maximum=1000)
        ITS_VALUE = 'ITS'
        A_VALUE = 'A'
        TEST_VALUE = 'TEST'
        discount += time.time() - discountStart

        # act
        discountStart = time.time()

        @Enum()
        class MyEnumTest:
            ITS = EnumItem(name=ITS_NAME, label=ITS_LABEL, numeric=ITS_NUMERIC)
            A = EnumItem(name=A_NAME, label=A_LABEL, numeric=A_NUMERIC)
            TEST = EnumItem(name=TEST_NAME,
                            label=TEST_LABEL,
                            numeric=TEST_NUMERIC)

        discount += time.time() - discountStart
        instanciationTimeInit = time.time()
        MY_ENUM_TEST = MyEnumTest()
        instanciationTime += time.time() - instanciationTimeInit

        # assert
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert ITS_VALUE == MY_ENUM_TEST.ITS
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'ITS_VALUE == MY_ENUM_TEST.ITS assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert A_VALUE == MY_ENUM_TEST.A
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'A_VALUE == MY_ENUM_TEST.A assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert TEST_VALUE == MY_ENUM_TEST.TEST
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'TEST_VALUE == MY_ENUM_TEST.TEST assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert ITS_NAME == MY_ENUM_TEST.ITS.name
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'ITS_NAME == MY_ENUM_TEST.ITS.name assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert A_NAME == MY_ENUM_TEST.A.name
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'A_NAME == MY_ENUM_TEST.A.name assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert TEST_NAME == MY_ENUM_TEST.TEST.name
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'TEST_NAME == MY_ENUM_TEST.TEST.name assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert ITS_LABEL == MY_ENUM_TEST.ITS.label
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'ITS_LABEL == MY_ENUM_TEST.ITS.label assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert A_LABEL == MY_ENUM_TEST.A.label
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'A_LABEL == MY_ENUM_TEST.A.label assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert TEST_LABEL == MY_ENUM_TEST.TEST.label
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'TEST_LABEL == MY_ENUM_TEST.TEST.label assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert ITS_NUMERIC == MY_ENUM_TEST.ITS.numeric
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'ITS_NUMERIC == MY_ENUM_TEST.ITS.numeric assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert A_NUMERIC == MY_ENUM_TEST.A.numeric
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'A_NUMERIC == MY_ENUM_TEST.A.numeric assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert TEST_NUMERIC == MY_ENUM_TEST.TEST.numeric
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'TEST_NUMERIC == MY_ENUM_TEST.TEST.numeric assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert MyEnumTest.map(
                MY_ENUM_TEST.ITS.enumValue) == MY_ENUM_TEST.ITS
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'MyEnumTest.map(MY_ENUM_TEST.ITS.enumValue) == MY_ENUM_TEST.ITS assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert MyEnumTest.map(MY_ENUM_TEST.A.enumValue) == MY_ENUM_TEST.A
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'MyEnumTest.map(MY_ENUM_TEST.A.enumValue) == MY_ENUM_TEST.A assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert MyEnumTest.map(
                MY_ENUM_TEST.TEST.enumValue) == MY_ENUM_TEST.TEST
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'MyEnumTest.map(MY_ENUM_TEST.TEST.enumValue) == MY_ENUM_TEST.TEST assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert MY_ENUM_TEST.ITS.enumValue.enum == MY_ENUM_TEST
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'MY_ENUM_TEST.ITS.enumValue.enum == MY_ENUM_TEST assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert MY_ENUM_TEST.A.enumValue.enum == MY_ENUM_TEST
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'MY_ENUM_TEST.A.enumValue.enum == MY_ENUM_TEST assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert MY_ENUM_TEST.TEST.enumValue.enum == MY_ENUM_TEST
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'MY_ENUM_TEST.TEST.enumValue.enum == MY_ENUM_TEST assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert not MY_ENUM_TEST.ITS.enumValue.enum == MyEnumTest
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'not MY_ENUM_TEST.ITS.enumValue.enum == MyEnumTest assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert not MY_ENUM_TEST.A.enumValue.enum == MyEnumTest
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'not MY_ENUM_TEST.A.enumValue.enum == MyEnumTest assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert not MY_ENUM_TEST.TEST.enumValue.enum == MyEnumTest
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'not MY_ENUM_TEST.TEST.enumValue.enum == MyEnumTest assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        equalTestTimeStart = time.time()
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert MY_ENUM_TEST.ITS.enumValue.enum == MyEnumTest()
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'MY_ENUM_TEST.ITS.enumValue.enum == MyEnumTest() assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert MY_ENUM_TEST.A.enumValue.enum == MyEnumTest()
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'MY_ENUM_TEST.A.enumValue.enum == MyEnumTest() assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        timeAssertInit = time.time()
        for _ in range(ASSERT_ITERATION):
            assert MY_ENUM_TEST.TEST.enumValue.enum == MyEnumTest()
        discountStart = time.time()
        log.log(
            enum_withSuccess,
            f'MY_ENUM_TEST.TEST.enumValue.enum == MyEnumTest() assert duration: {time.time() - timeAssertInit}'
        )
        discount += time.time() - discountStart
        assert MyEnumTest() == MyEnumTest()
        equalTestTime += (time.time() - equalTestTimeStart)
def convertFromObjectToObject_whenTargetClassIsList() :
    # arrange
    a = RandomHelper.string()
    b = RandomHelper.string()
    c = RandomHelper.string()
    otherA = MyOtherDto(RandomHelper.string())
    otherB = MyOtherDto(RandomHelper.string())
    otherC = MyOtherDto(RandomHelper.string())
    myFirst = MyDto(RandomHelper.string(), otherA, [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), None), RandomHelper.integer())]), RandomHelper.integer())]), RandomHelper.integer())]), RandomHelper.integer())])
    mySecond = MyDto(RandomHelper.string(), otherB, [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), None), RandomHelper.integer())]), RandomHelper.integer())]), RandomHelper.integer())]), RandomHelper.integer())])
    myThird = MyDto(RandomHelper.string(), otherC, [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), [MyThirdDto(MyDto(RandomHelper.string(), MyOtherDto(RandomHelper.string()), None), RandomHelper.integer())]), RandomHelper.integer())]), RandomHelper.integer())]), RandomHelper.integer())])
    thirdOne = RandomHelper.integer()
    thirdTwo = RandomHelper.integer()
    thirdThree = RandomHelper.integer()
    myThirdOne = [MyThirdDto(myFirst, thirdOne)]
    myThirdTwo = [MyThirdDto(mySecond, thirdTwo)]
    myThirdThree = [MyThirdDto(myThird, thirdThree)]
    expected = [MyDto(a, otherA, myThirdOne), MyDto(b, otherB, myThirdTwo), MyDto(c, otherC, myThirdThree)]
    null = 'null'
    inspectEquals = False

    # act
    toAssert = Serializer.convertFromObjectToObject(expected, [[MyDto]])
    another = Serializer.convertFromObjectToObject([MyDto(a, otherA, [MyThirdDto(myFirst, thirdOne)]), MyDto(b, otherB, myThirdTwo), MyDto(c, otherC, myThirdThree)], [[MyDto]])
    another[0].myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my = MyDto(
        MyDto(RandomHelper.string(), None, None),
        expected[0].myThirdList[0].my.myOther,
        expected[0].myThirdList[0].my.myThirdList
    )

    # assert
    assert expected == toAssert, f'{expected} == {toAssert}: {expected == toAssert}'
    assert ObjectHelper.equals(expected, toAssert)
    assert ObjectHelper.isNotNone(expected[0].myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my)
    assert expected[0].myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my == toAssert[0].myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my
    assert ObjectHelper.equals(expected[0].myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my, toAssert[0].myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my)
    assert ObjectHelper.isNone(expected[0].myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList)
    assert ObjectHelper.equals(expected[0].myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList, toAssert[0].myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList[0].my.myThirdList)
    assert ObjectHelper.equals(json.loads(Serializer.jsonifyIt(expected)), json.loads(Serializer.jsonifyIt(toAssert))), f'ObjectHelper.equals({json.loads(Serializer.jsonifyIt(expected))},\n\n{json.loads(Serializer.jsonifyIt(toAssert))})'
    assert False == (expected == another), f'False == ({expected} == {another}): False == {(expected == another)}'
    assert False == ObjectHelper.equals(expected, another, muteLogs=not inspectEquals)
    assert False == ObjectHelper.equals(another, expected, muteLogs=not inspectEquals)
    assert False == ObjectHelper.equals(another, toAssert, muteLogs=not inspectEquals)
    assert False == ObjectHelper.equals(toAssert, another, muteLogs=not inspectEquals)
    assert str(expected) == str(toAssert), f'str({str(expected)}) == str({str(toAssert)}): {str(expected) == str(toAssert)}'
示例#9
0
import importlib

importlib.invalidate_caches()
from python_helper import EnvironmentHelper, log, RandomHelper

EnvironmentHelper.update("URL_VARIANT",
                         RandomHelper.integer(minimum=0, maximum=10000))
log.debug(log.debug, f'variant: {EnvironmentHelper.get("URL_VARIANT")}')

from python_helper import TestHelper

TestHelper.run(__file__)
# TestHelper.run(
#     __file__,
#     runOnly = [
#         'TestApiTest.testing_Client'
#     ]
# )
# TestHelper.run(
#     __file__,
#     runOnly = [
#         'EnumAnnotationTest.enum_withSuccess',
#         'EnumAnnotationTest.otherEnum_withSuccess',
#         'EnumAnnotationTest.python_framework_status',
#         'EnumAnnotationTest.enumName',
#         'EnumAnnotationTest.enumName_badImplementation',
#         'EnumAnnotationTest.map_whenArgIsNone',
#         'EnumAnnotationTest.Enum_whenHaveMoreThanOneInnerValue',
#         'EnumAnnotationTest.Enum_dot_map',
#         'EnumAnnotationTest.Enum_str',
#         'EnumAnnotationTest.Enum_strInOutput'
def sample_withSuccess():
    # Arrange
    SAMPLE_SIZE = 2
    listColletcion = [
        RandomHelper.string(),
        RandomHelper.string(),
        RandomHelper.string(),
        RandomHelper.string(),
        RandomHelper.string()
    ]
    tupleColletcion = (RandomHelper.string(), RandomHelper.string(),
                       RandomHelper.string(), RandomHelper.string(),
                       RandomHelper.string())
    setColletcion = {
        RandomHelper.string(minimum=1),
        RandomHelper.string(minimum=1),
        RandomHelper.string(minimum=1),
        RandomHelper.string(minimum=1),
        RandomHelper.string(minimum=1)
    }
    dictionaryColletcion = {
        RandomHelper.string(minimum=1): RandomHelper.string(),
        RandomHelper.string(minimum=1): RandomHelper.string(),
        RandomHelper.string(minimum=1): RandomHelper.string(),
        RandomHelper.string(minimum=1): RandomHelper.string(),
        RandomHelper.string(minimum=1): RandomHelper.string(),
    }

    # Act
    listElement = RandomHelper.sample(listColletcion)
    listSample = RandomHelper.sample(listColletcion, length=SAMPLE_SIZE)
    tupleElement = RandomHelper.sample(tupleColletcion)
    tupleSample = RandomHelper.sample(tupleColletcion, length=SAMPLE_SIZE)
    setElement = RandomHelper.sample(setColletcion)
    setSample = RandomHelper.sample(setColletcion, length=SAMPLE_SIZE)
    dictionaryElement = RandomHelper.sample(dictionaryColletcion)
    dictionarySample = RandomHelper.sample(dictionaryColletcion,
                                           length=SAMPLE_SIZE)

    # Assert
    assert listElement in listColletcion
    assert list == type(listSample)
    assert SAMPLE_SIZE == len(listSample)
    for element in listSample:
        assert element in listColletcion
    assert tupleElement in tupleColletcion
    assert tuple == type(tupleSample)
    assert SAMPLE_SIZE == len(tupleSample)
    for element in tupleSample:
        assert element in tupleColletcion
    assert setElement in setColletcion
    assert set == type(setSample)
    assert SAMPLE_SIZE == len(setSample)
    for element in setSample:
        assert element in setColletcion
    assert 1 == len(dictionaryElement.keys())
    assert list(dictionaryElement.keys())[0] in dictionaryColletcion
    assert dict == type(dictionarySample)
    assert SAMPLE_SIZE == len(dictionarySample)
    for key in dictionarySample:
        assert key in dictionaryColletcion
        assert dictionarySample[key] == dictionaryColletcion[key]
示例#11
0
def equal_whenObjects():
    # arrange
    a = RandomHelper.string()
    b = RandomHelper.string()
    c = RandomHelper.string()
    otherA = MyOtherDto(RandomHelper.string())
    otherB = MyOtherDto(RandomHelper.string())
    otherC = MyOtherDto(RandomHelper.string())
    myFirst = MyDto(None, None, None)
    mySecond = MyDto(None, None, None)
    myThird = MyDto(None, None, None)
    thirdOne = RandomHelper.integer()
    thirdTwo = RandomHelper.integer()
    thirdThree = RandomHelper.integer()
    myThirdOne = [MyThirdDto(myFirst, thirdOne)]
    myThirdTwo = [MyThirdDto(mySecond, thirdTwo)]
    myThirdThree = [MyThirdDto(myThird, thirdThree)]
    expected = [
        MyDto(a, otherA, myThirdOne),
        MyDto(b, otherB, myThirdTwo),
        MyDto(c, otherC, myThirdThree)
    ]
    null = 'null'
    inspectEquals = False

    # act
    toAssert = [
        MyDto(a, otherA, myThirdOne),
        MyDto(b, otherB, myThirdTwo),
        MyDto(c, otherC, myThirdThree)
    ]
    another = [
        MyDto(a, otherA, [MyThirdDto(myFirst, thirdOne)]),
        MyDto(b, otherB, myThirdTwo),
        MyDto(c, otherC, myThirdThree)
    ]
    another[0].myThirdList[0].my = MyDto(
        MyDto(None, None, None), expected[0].myThirdList[0].my.myOther,
        expected[0].myThirdList[0].my.myThirdList)

    # assert
    assert False == (
        expected == toAssert
    ), f'False == ({expected} == {toAssert}): {False == (expected == toAssert)}'
    assert ObjectHelper.equals(expected, toAssert)
    assert ObjectHelper.equals(toAssert, expected)
    assert ObjectHelper.isNotNone(
        expected[0].myThirdList[0].my), expected[0].myThirdList[0].my
    assert expected[0].myThirdList[0].my == toAssert[0].myThirdList[0].my
    assert ObjectHelper.equals(expected[0].myThirdList[0].my,
                               toAssert[0].myThirdList[0].my)
    assert ObjectHelper.isNone(expected[0].myThirdList[0].my.myThirdList)
    assert ObjectHelper.equals(expected[0].myThirdList[0].my.myThirdList,
                               toAssert[0].myThirdList[0].my.myThirdList)
    assert ObjectHelper.equals(expected[1].myThirdList[0],
                               toAssert[1].myThirdList[0])
    assert ObjectHelper.equals(toAssert[1].myThirdList[0],
                               expected[1].myThirdList[0])
    assert False == (
        expected == another
    ), f'False == ({expected} == {another}): False == {(expected == another)}'
    assert False == ObjectHelper.equals(expected,
                                        another,
                                        muteLogs=not inspectEquals)
    assert False == ObjectHelper.equals(another,
                                        expected,
                                        muteLogs=not inspectEquals)
    assert False == ObjectHelper.equals(another,
                                        toAssert,
                                        muteLogs=not inspectEquals)
    assert False == ObjectHelper.equals(toAssert,
                                        another,
                                        muteLogs=not inspectEquals)
    assert False == ObjectHelper.equals(expected, [
        MyDto(None, None, None),
        MyDto(None, None, None),
        MyDto(None, None, None)
    ])
示例#12
0
def equal_whenListOfDictionaries():
    # arrange
    null = 'null'
    LIST_OF_DICTIONARIES = [{
        "myAttribute":
        "NW2",
        "myOther": {
            "myAttribute": "34PDZB"
        },
        "myThirdList": [{
            "my": {
                "myAttribute": "X1HC",
                "myOther": {
                    "myAttribute": "34PDZB"
                },
                "myThirdList": null
            },
            "myAttribute": 9
        }]
    }, {
        "myAttribute":
        "",
        "myOther":
        null,
        "myThirdList": [{
            "my": {
                "myAttribute": "U",
                "myOther": null,
                "myThirdList": null
            },
            "myAttribute": 3
        }]
    }, {
        "myAttribute":
        "HNQ7QKW2",
        "myOther": {
            "myAttribute": "V9OXKD8"
        },
        "myThirdList": [{
            "my": {
                "myAttribute": "PVYA",
                "myOther": {
                    "myAttribute": "V9OXKD8"
                },
                "myThirdList": null
            },
            "myAttribute": 10
        }]
    }]
    DIFFERENT_LIST_OF_DICTIONARIES = [{
        "myAttribute":
        "NW2",
        "myOther": {
            "myAttribute": "34PDZB"
        },
        "myThirdList": [{
            "my": {
                "myAttribute": "X1HC",
                "myOther": {
                    "myAttribute": RandomHelper.integer()
                },
                "myThirdList": null
            },
            "myAttribute": 9
        }]
    }, {
        "myAttribute":
        "",
        "myOther":
        null,
        "myThirdList": [{
            "my": {
                "myAttribute": "U",
                "myOther": null,
                "myThirdList": null
            },
            "myAttribute": 3
        }]
    }, {
        "myAttribute":
        "HNQ7QKW2",
        "myOther": {
            "myAttribute": "V9OXKD8"
        },
        "myThirdList": [{
            "my": {
                "myAttribute": "PVYA",
                "myOther": {
                    "myAttribute": "V9OXKD8"
                },
                "myThirdList": null
            },
            "myAttribute": 10
        }]
    }]

    # act
    # assert
    assert ObjectHelper.equals(LIST_OF_DICTIONARIES, [{
        "myAttribute":
        "NW2",
        "myOther": {
            "myAttribute": "34PDZB"
        },
        "myThirdList": [{
            "my": {
                "myAttribute": "X1HC",
                "myOther": {
                    "myAttribute": "34PDZB"
                },
                "myThirdList": null
            },
            "myAttribute": 9
        }]
    }, {
        "myAttribute":
        "",
        "myOther":
        null,
        "myThirdList": [{
            "my": {
                "myAttribute": "U",
                "myOther": null,
                "myThirdList": null
            },
            "myAttribute": 3
        }]
    }, {
        "myAttribute":
        "HNQ7QKW2",
        "myOther": {
            "myAttribute": "V9OXKD8"
        },
        "myThirdList": [{
            "my": {
                "myAttribute": "PVYA",
                "myOther": {
                    "myAttribute": "V9OXKD8"
                },
                "myThirdList": null
            },
            "myAttribute": 10
        }]
    }])
    assert False == ObjectHelper.equals(LIST_OF_DICTIONARIES, [{}, {}, {}])
    assert False == ObjectHelper.equals(LIST_OF_DICTIONARIES,
                                        DIFFERENT_LIST_OF_DICTIONARIES)