예제 #1
0
    def test_func_param_address1(self):
        value = create_address()
        params = {"value": str(value)}

        annotations = TypeConverter.make_annotations_from_method(
            self.test_score.func_param_address1)
        TypeConverter.convert_data_params(annotations, params)
        self.assertEqual(value, self.test_score.func_param_address1(**params))

        params = {"value": str(value)}
        TypeConverter.adjust_params_to_method(
            self.test_score.func_param_address1, params)
        self.assertEqual(value, self.test_score.func_param_address1(**params))
예제 #2
0
    def test_func_param_bool(self):
        value = True
        params = {"value": hex(int(value))}

        annotations = TypeConverter.make_annotations_from_method(
            self.test_score.func_param_bool)
        TypeConverter.convert_data_params(annotations, params)
        self.assertEqual(value, self.test_score.func_param_bool(**params))

        params = {"value": hex(int(value))}
        TypeConverter.adjust_params_to_method(self.test_score.func_param_bool,
                                              params)
        self.assertEqual(value, self.test_score.func_param_bool(**params))
예제 #3
0
    def test_func_param_str(self):
        value = 'a'
        params = {"value": value}

        annotations = TypeConverter.make_annotations_from_method(
            self.test_score.func_param_str)
        TypeConverter.convert_data_params(annotations, params)
        self.assertEqual(value, self.test_score.func_param_str(**params))

        params = {"value": value}
        TypeConverter.adjust_params_to_method(self.test_score.func_param_str,
                                              params)
        self.assertEqual(value, self.test_score.func_param_str(**params))
예제 #4
0
    def test_func_param_bytes(self):
        value = b'bytes'
        params = {"value": bytes.hex(value)}

        annotations = TypeConverter.make_annotations_from_method(
            self.test_score.func_param_bytes)
        TypeConverter.convert_data_params(annotations, params)
        self.assertEqual(value, self.test_score.func_param_bytes(**params))

        params = {"value": bytes.hex(value)}
        TypeConverter.adjust_params_to_method(self.test_score.func_param_bytes,
                                              params)
        self.assertEqual(value, self.test_score.func_param_bytes(**params))
예제 #5
0
    def test_func_param_invalid_key(self):
        value = None

        params = {"value": value, "invalid_key": value}
        with self.assertRaises(InvalidParamsException):
            TypeConverter.adjust_params_to_method(
                self.test_score.func_param_int, params)

        TypeConverter.adjust_params_to_method(self.test_score.func_param_int,
                                              params, True)
        self.assertEqual(value, self.test_score.func_param_address1(**params))

        # all params are invalid
        params = {"invalid_key1": value, "invalid_key2": value}
        with self.assertRaises(InvalidParamsException):
            TypeConverter.adjust_params_to_method(
                self.test_score.func_param_int, params)

        with self.assertRaises(InvalidParamsException):
            TypeConverter.adjust_params_to_method(
                self.test_score.func_param_int, params, True)

        # invalid/valid params are mixed and func has default value
        params = {"invalid_key1": value, "value": value}
        with self.assertRaises(InvalidParamsException):
            TypeConverter.adjust_params_to_method(
                self.test_score.func_param_default, params)

        TypeConverter.adjust_params_to_method(
            self.test_score.func_param_default, params, True)
        value_int, value_str = self.test_score.func_param_default(**params)
        self.assertEqual(None, value_int)
        self.assertEqual(DEFAULT_STR, value_str)

        # all params are invalid
        params = {"invalid_key1": value, "invalid_key2": value}
        with self.assertRaises(InvalidParamsException):
            TypeConverter.adjust_params_to_method(
                self.test_score.func_param_default, params)

        with self.assertRaises(InvalidParamsException):
            TypeConverter.adjust_params_to_method(
                self.test_score.func_param_default, params, True)