def test_get_auth_functions(self, comments_enabled): auth_functions_len = TOTAL_ACTIONS if comments_enabled == 'True' else ACTIONS_NO_COMMENTS # Configure config and create instance plugin.config.get.return_value = comments_enabled self.plg_instance = plugin.DataRequestsPlugin() # Get auth functions auth_functions = self.plg_instance.get_auth_functions() self.assertEquals(auth_functions_len, len(auth_functions)) self.assertEquals(plugin.auth.create_datarequest, auth_functions[self.create_datarequest]) self.assertEquals(plugin.auth.show_datarequest, auth_functions[self.show_datarequest]) self.assertEquals(plugin.auth.update_datarequest, auth_functions[self.update_datarequest]) self.assertEquals(plugin.auth.list_datarequests, auth_functions[self.list_datarequests]) self.assertEquals(plugin.auth.delete_datarequest, auth_functions[self.delete_datarequest]) self.assertEquals(plugin.auth.follow_datarequest, auth_functions[self.follow_datarequest]) self.assertEquals(plugin.auth.unfollow_datarequest, auth_functions[self.unfollow_datarequest]) if comments_enabled == 'True': self.assertEquals(plugin.auth.comment_datarequest, auth_functions[self.comment_datarequest]) self.assertEquals(plugin.auth.list_datarequest_comments, auth_functions[self.list_datarequest_comments]) self.assertEquals(plugin.auth.show_datarequest_comment, auth_functions[self.show_datarequest_comment]) self.assertEquals(plugin.auth.update_datarequest_comment, auth_functions[self.update_datarequest_comment]) self.assertEquals(plugin.auth.delete_datarequest_comment, auth_functions[self.delete_datarequest_comment])
def test_helpers(self, comments_enabled, show_datarequests_badge): # Configure config and get instance plugin.config = { "ckan.datarequests.comments": comments_enabled, "ckan.datarequests.show_datarequests_badge": show_datarequests_badge, } self.plg_instance = plugin.DataRequestsPlugin() # Check result show_comments_expected = True if comments_enabled == "True" else False helpers = self.plg_instance.get_helpers() self.assertEquals(helpers["show_comments_tab"](), show_comments_expected) self.assertEquals( helpers["get_comments_number"], plugin.helpers.get_comments_number ) self.assertEquals( helpers["get_comments_badge"], plugin.helpers.get_comments_badge ) self.assertEquals( helpers["get_open_datarequests_number"], plugin.helpers.get_open_datarequests_number, ) self.assertEquals( helpers["get_open_datarequests_badge"], plugin.partial.return_value ) # Check that partial has been called show_datarequests_expected = ( True if show_datarequests_badge == "True" else False ) plugin.partial.assert_called_once_with( plugin.helpers.get_open_datarequests_badge, show_datarequests_expected )
def test_get_actions(self, comments_enabled): actions_len = TOTAL_ACTIONS if comments_enabled == 'True' else ACTIONS_NO_COMMENTS # Configure config and create instance plugin.config.get.return_value = comments_enabled self.plg_instance = plugin.DataRequestsPlugin() # Get actions actions = self.plg_instance.get_actions() self.assertEquals(actions_len, len(actions)) self.assertEquals(plugin.actions.datarequest_create, actions[self.datarequest_create]) self.assertEquals(plugin.actions.datarequest_show, actions[self.datarequest_show]) self.assertEquals(plugin.actions.datarequest_update, actions[self.datarequest_update]) self.assertEquals(plugin.actions.datarequest_index, actions[self.datarequest_index]) self.assertEquals(plugin.actions.datarequest_delete, actions[self.datarequest_delete]) if comments_enabled == 'True': self.assertEquals(plugin.actions.datarequest_comment, actions[self.datarequest_comment]) self.assertEquals(plugin.actions.datarequest_comment_list, actions[self.datarequest_comment_list]) self.assertEquals(plugin.actions.datarequest_comment_show, actions[self.datarequest_comment_show]) self.assertEquals(plugin.actions.datarequest_comment_update, actions[self.datarequest_comment_update]) self.assertEquals(plugin.actions.datarequest_comment_delete, actions[self.datarequest_comment_delete])
def test_helpers(self, comments_enabled, show_datarequests_badge): # Configure config and get instance common.config = { 'ckan.datarequests.comments': comments_enabled, 'ckan.datarequests.show_datarequests_badge': show_datarequests_badge } self.plg_instance = plugin.DataRequestsPlugin() # Check result show_comments_expected = True if comments_enabled == 'True' else False helpers = self.plg_instance.get_helpers() self.assertEquals(helpers['show_comments_tab'](), show_comments_expected) self.assertEquals(helpers['get_comments_number'], plugin.helpers.get_comments_number) self.assertEquals(helpers['get_comments_badge'], plugin.helpers.get_comments_badge) self.assertEquals(helpers['get_open_datarequests_number'], plugin.helpers.get_open_datarequests_number) self.assertEquals(helpers['get_open_datarequests_badge'], plugin.partial.return_value) # Check that partial has been called show_datarequests_expected = True if show_datarequests_badge == 'True' else False plugin.partial.assert_called_once_with( plugin.helpers.get_open_datarequests_badge, show_datarequests_expected)
def test_update_config(self): # Create instance self.plg_instance = plugin.DataRequestsPlugin() # Test config = MagicMock() self.plg_instance.update_config(config) plugin.tk.add_template_directory.assert_called_once_with(config, 'templates')
def test_get_actions(self, comments_enabled): actions_len = ( TOTAL_ACTIONS if comments_enabled == "True" else ACTIONS_NO_COMMENTS ) # Configure config and create instance plugin.config.get.return_value = comments_enabled self.plg_instance = plugin.DataRequestsPlugin() # Get actions actions = self.plg_instance.get_actions() self.assertEquals(actions_len, len(actions)) self.assertEquals( plugin.actions.create_datarequest, actions[self.create_datarequest] ) self.assertEquals( plugin.actions.show_datarequest, actions[self.show_datarequest] ) self.assertEquals( plugin.actions.update_datarequest, actions[self.update_datarequest] ) self.assertEquals( plugin.actions.list_datarequests, actions[self.list_datarequests] ) self.assertEquals( plugin.actions.delete_datarequest, actions[self.delete_datarequest] ) self.assertEquals( plugin.actions.follow_datarequest, actions[self.follow_datarequest] ) self.assertEquals( plugin.actions.unfollow_datarequest, actions[self.unfollow_datarequest] ) if comments_enabled == "True": self.assertEquals( plugin.actions.comment_datarequest, actions[self.comment_datarequest] ) self.assertEquals( plugin.actions.list_datarequest_comments, actions[self.list_datarequest_comments], ) self.assertEquals( plugin.actions.show_datarequest_comment, actions[self.show_datarequest_comment], ) self.assertEquals( plugin.actions.update_datarequest_comment, actions[self.update_datarequest_comment], ) self.assertEquals( plugin.actions.delete_datarequest_comment, actions[self.delete_datarequest_comment], )
def test_helpers(self, comments_enabled): # Configure config and get instance plugin.config.get.return_value = comments_enabled self.plg_instance = plugin.DataRequestsPlugin() # Check result expected_result = True if comments_enabled == 'True' else False self.assertEquals( self.plg_instance.get_helpers()['show_comments_tab'](), expected_result)
def test_before_map(self, comments_enabled): urls_set = 12 mapa_calls = urls_set if comments_enabled == 'True' else urls_set - 2 # Configure config and get instance plugin.config.get.return_value = comments_enabled self.plg_instance = plugin.DataRequestsPlugin() mock_icon = 'icon' get_question_icon_patch = patch('ckanext.datarequests.plugin.get_question_icon', return_value=mock_icon) get_question_icon_patch.start() self.addCleanup(get_question_icon_patch.stop) # Test mapa = MagicMock() dr_basic_path = 'datarequest' self.plg_instance.before_map(mapa) self.assertEquals(mapa_calls, mapa.connect.call_count) mapa.connect.assert_any_call( 'datarequests_index', "/%s" % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='index', conditions={'method': ['GET']}) mapa.connect.assert_any_call( '/%s/new' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='new', conditions={'method': ['GET', 'POST']}) mapa.connect.assert_any_call( 'show_datarequest', '/%s/{id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='show', conditions={'method': ['GET']}, ckan_icon=mock_icon) mapa.connect.assert_any_call( '/%s/edit/{id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='update', conditions={'method': ['GET', 'POST']}) mapa.connect.assert_any_call( '/%s/delete/{id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='delete', conditions={'method': ['POST']}) mapa.connect.assert_any_call( '/%s/close/{id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='close', conditions={'method': ['GET', 'POST']}) mapa.connect.assert_any_call( 'organization_datarequests', '/organization/%s/{id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='organization_datarequests', conditions={'method': ['GET']}, ckan_icon=mock_icon) mapa.connect.assert_any_call( 'user_datarequests', '/user/%s/{id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='user_datarequests', conditions={'method': ['GET']}, ckan_icon=mock_icon) mapa.connect.assert_any_call( 'user_datarequests', '/user/%s/{id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='user_datarequests', conditions={'method': ['GET']}, ckan_icon=mock_icon) mapa.connect.assert_any_call( '/%s/follow/{id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='follow', conditions={'method': ['POST']}) mapa.connect.assert_any_call( '/%s/unfollow/{id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='unfollow', conditions={'method': ['POST']}) if comments_enabled == 'True': mapa.connect.assert_any_call( 'comment_datarequest', '/%s/comment/{id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='comment', conditions={'method': ['GET', 'POST']}, ckan_icon='comment') mapa.connect.assert_any_call( '/%s/comment/{datarequest_id}/delete/{comment_id}' % dr_basic_path, controller='ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='delete_comment', conditions={'method': ['GET', 'POST']})
def test_before_map(self, comments_enabled): urls_set = 12 mapa_calls = urls_set if comments_enabled == "True" else urls_set - 2 # Configure config and get instance plugin.config.get.return_value = comments_enabled self.plg_instance = plugin.DataRequestsPlugin() mock_icon = "question-circle" # get_question_icon_patch = patch( # "ckanext.datarequests.plugin.get_question_icon", return_value=mock_icon # ) # get_question_icon_patch.start() # self.addCleanup(get_question_icon_patch.stop) # Test mapa = MagicMock() dr_basic_path = "datarequest" self.plg_instance.before_map(mapa) self.assertEquals(mapa_calls, mapa.connect.call_count) mapa.connect.assert_any_call( "datarequests_index", f"/{dr_basic_path}", controller="datarequests", action="index", conditions=dict(method=["GET"]), ) mapa.connect.assert_any_call( f"/{dr_basic_path}/new", controller="datarequests", action="new", conditions=dict(method=["GET", "POST"]), ) mapa.connect.assert_any_call( "show_datarequest", f"/{dr_basic_path}/{{id}}", controller="datarequests", action="show", conditions=dict(method=["GET"]), ckan_icon=mock_icon, ) mapa.connect.assert_any_call( f"/{dr_basic_path}/edit/{{id}}", controller="datarequests", action="update", conditions=dict(method=["GET", "POST"]), ) mapa.connect.assert_any_call( f"/{dr_basic_path}/delete/{{id}}", controller="datarequests", action="delete", conditions=dict(method=["POST"]), ) mapa.connect.assert_any_call( f"/{dr_basic_path}/close/{{id}}", controller="datarequests", action="close", conditions=dict(method=["GET", "POST"]), ) mapa.connect.assert_any_call( "organization_datarequests", f"/organization/{dr_basic_path}/{{id}}", controller="datarequests", action="organization_datarequests", conditions=dict(method=["GET"]), ckan_icon=mock_icon, ) mapa.connect.assert_any_call( "user_datarequests", f"/user/{dr_basic_path}/{{id}}", controller="datarequests", action="user_datarequests", conditions=dict(method=["GET"]), ckan_icon=mock_icon, ) mapa.connect.assert_any_call( "user_datarequests", f"/user/{dr_basic_path}/{{id}}", controller="datarequests", action="user_datarequests", conditions=dict(method=["GET"]), ckan_icon=mock_icon, ) mapa.connect( f"/{dr_basic_path}/follow/{{id}}", controller="datarequests", action="follow", conditions=dict(method=["POST"]), ) mapa.connect( f"/{dr_basic_path}/unfollow/{{id}}", controller="datarequests", action="unfollow", conditions=dict(method=["POST"]), ) if comments_enabled == "True": mapa.connect.assert_any_call( "comment_datarequest", f"/{dr_basic_path}/comment/{{id}}", controller="datarequests", action="comment", conditions=dict(method=["GET", "POST"]), ckan_icon="comment", ) mapa.connect.assert_any_call( f"/{dr_basic_path}/comment/{{datarequest_id}}/delete/{{comment_id}}", controller="datarequests", action="delete_comment", conditions=dict(method=["GET", "POST"]), )
def test_before_map(self, comments_enabled): urls_set = 10 mapa_calls = urls_set if comments_enabled == 'True' else urls_set - 2 # Configure config and get instance plugin.config.get.return_value = comments_enabled self.plg_instance = plugin.DataRequestsPlugin() # Test mapa = MagicMock() dr_basic_path = 'datarequest' self.plg_instance.before_map(mapa) self.assertEquals(mapa_calls, mapa.connect.call_count) mapa.connect.assert_any_call( 'datarequests_index', "/%s" % dr_basic_path, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='index', conditions=dict(method=['GET'])) mapa.connect.assert_any_call( '/%s/new' % dr_basic_path, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='new', conditions=dict(method=['GET', 'POST'])) mapa.connect.assert_any_call( 'datarequest_show', '/%s/{id}' % dr_basic_path, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='show', conditions=dict(method=['GET']), ckan_icon='question-sign') mapa.connect.assert_any_call( '/%s/edit/{id}' % dr_basic_path, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='update', conditions=dict(method=['GET', 'POST'])) mapa.connect.assert_any_call( '/%s/delete/{id}' % dr_basic_path, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='delete', conditions=dict(method=['POST'])) mapa.connect.assert_any_call( '/%s/close/{id}' % dr_basic_path, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='close', conditions=dict(method=['GET', 'POST'])) mapa.connect.assert_any_call( 'organization_datarequests', '/organization/%s/{id}' % dr_basic_path, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='organization_datarequests', conditions=dict(method=['GET']), ckan_icon='question-sign') mapa.connect.assert_any_call( 'user_datarequests', '/user/%s/{id}' % dr_basic_path, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='user_datarequests', conditions=dict(method=['GET']), ckan_icon='question-sign') if comments_enabled == 'True': mapa.connect.assert_any_call( 'datarequest_comment', '/%s/comment/{id}' % dr_basic_path, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='comment', conditions=dict(method=['GET', 'POST']), ckan_icon='comment') mapa.connect.assert_any_call( '/%s/comment/{datarequest_id}/delete/{comment_id}' % dr_basic_path, controller= 'ckanext.datarequests.controllers.ui_controller:DataRequestsUI', action='delete_comment', conditions=dict(method=['GET', 'POST']))