def test_register_rules(self): app = Mock() controller = WorkController() url_rules = [['/work/request', 'work_request', {'type_is': 'decorated_view', 'name': 'work_request', 'co_filename': '{}'.format(rapid.lib.__file__.replace('.pyc', '.py'))}], ['/work/execute', 'work_execute', {'type_is': 'decorated_view', 'name': 'work_execute', 'co_filename': '{}'.format(rapid.lib.__file__.replace('.pyc', '.py'))}, {'methods': ['POST']}]] registered_rules = {} def set_url(*args, **kwargs): arguments = list(args) if sys.version.startswith('2'): # TODO: Remove after moved to python3 arguments[2] = {'type_is': args[2].func_code.co_name, 'name': args[2].func_name, 'co_filename': args[2].func_code.co_filename} else: arguments[2] = {'type_is': args[2].__code__.co_name, 'name': args[2].__wrapped__.__func__.__name__, 'co_filename': args[2].__code__.co_filename} if kwargs: arguments.append(kwargs) registered_rules[args[0]] = arguments app.add_url_rule = set_url controller.register_url_rules(app) for assertions in url_rules: eq_(registered_rules[assertions[0]], assertions)
def test_app_is_tracked(self): app = Mock() controller = WorkController() controller.register_url_rules(app) eq_(app, controller.app)