def test_attack_statement_page(self): self.config.testing_securitypolicy(userid='Tobias', permissive=True) len_db_seen1 = DBDiscussionSession.query(SeenStatement).count() len_db_vote1 = DBDiscussionSession.query(ClickedStatement).filter( ClickedStatement.is_valid == True, ClickedStatement.is_up_vote == False).count() request = construct_dummy_request() request.matchdict = { 'slug': 'cat-or-dog', 'statement_id': 2, 'attitude': Attitudes.DISAGREE.value, } response = discussion_justify_statement(request) self.assertNotIsInstance(response, httpexceptions.HTTPError) transaction.commit() verify_dictionary_of_view(response) len_db_seen2 = DBDiscussionSession.query(SeenStatement).count() len_db_vote2 = DBDiscussionSession.query(ClickedStatement).filter( ClickedStatement.is_valid == True, ClickedStatement.is_up_vote == False).count() # minus 1 for 'none of the above' count = sum( [len(el['premises']) for el in response['items']['elements']]) self.assertEqual(len_db_seen1 + count, len_db_seen2) self.assertEqual(len_db_vote1 + 1, len_db_vote2) clear_seen_by_of('Tobias') clear_clicks_of('Tobias')
def setUp(self): self.config = testing.setUp() self.config.include('pyramid_chameleon') clear_seen_by_of('Tobias') clear_clicks_of('Tobias') clear_seen_by_of('Björn') clear_clicks_of('Björn')
def test_justify_argument_page_rep_not_twice(self): db_user: User = refresh_user('Björn') self.config.testing_securitypolicy(userid=db_user.nickname, permissive=True) clear_reputation_of_user(db_user) rep_history_before_new_rep = DBDiscussionSession.query( ReputationHistory).count() self.__call_function_and_count_seen_clicked_arguments() rep_history_after_new_rep = DBDiscussionSession.query( ReputationHistory).count() self.assertGreater( rep_history_after_new_rep, rep_history_before_new_rep, 'Reputation should be granted on first confrontation') clear_seen_by_of(db_user.nickname) clear_clicks_of(db_user.nickname) self.__call_function_and_count_seen_clicked_arguments() rep_history_after_second_try = DBDiscussionSession.query( ReputationHistory).count() self.assertEqual( rep_history_after_new_rep, rep_history_after_second_try, 'Reputation should NOT be granted twice for the first confrontation' ) clear_reputation_of_user(db_user) clear_seen_by_of(db_user.nickname) clear_clicks_of(db_user.nickname)
def test_support_statement_page(self): self.config.testing_securitypolicy(userid='Tobias', permissive=True) len_db_seen1 = DBDiscussionSession.query(SeenStatement).count() len_db_vote1 = DBDiscussionSession.query(ClickedStatement).filter( ClickedStatement.is_valid == True, ClickedStatement.is_up_vote == True).count() request = construct_dummy_request( matchdict={ 'slug': 'cat-or-dog', 'statement_id': 2, 'attitude': Attitudes.AGREE.value, }) response = justify_statement(request) transaction.commit() verify_dictionary_of_view(response) len_db_seen2 = DBDiscussionSession.query(SeenStatement).count() len_db_vote2 = DBDiscussionSession.query(ClickedStatement).filter( ClickedStatement.is_valid == True, ClickedStatement.is_up_vote == True).count() count = sum( [len(el['premises']) for el in response['items']['elements']]) self.assertEqual(len_db_seen1 + count, len_db_seen2) self.assertEqual(len_db_vote1 + 1, len_db_vote2) clear_seen_by_of('Tobias') clear_clicks_of('Tobias')
def tearDown(self): testing.tearDown() clear_seen_by_of('Tobias') clear_clicks_of('Tobias') clear_seen_by_of('Björn') clear_clicks_of('Björn') clear_reputation_of_user(self.user_bjoern) clear_reputation_of_user(self.user_tobi)
def setUp(self): self.config = testing.setUp() self.config.include('pyramid_chameleon') self.default_request = testing.DummyRequest(matchdict={ 'slug': 'cat-or-dog', 'arg_id_user': 2, 'relation': Relations.UNDERMINE.value, 'arg_id_sys': 16, }) self.user_bjoern = DBDiscussionSession.query(User).get(4) self.user_tobi = DBDiscussionSession.query(User).get(2) clear_seen_by_of('Tobias') clear_clicks_of('Tobias') clear_seen_by_of('Björn') clear_clicks_of('Björn') clear_reputation_of_user(self.user_bjoern) clear_reputation_of_user(self.user_tobi)
def setUp(self): self.config = testing.setUp() self.config.include('pyramid_chameleon') clear_clicks_of('Tobias') clear_seen_by_of('Tobias') self.db_tobias = DBDiscussionSession.query(User).filter_by( nickname='Tobias').first() self.last_login_of_tobias = self.db_tobias.last_login self.db_tobias.last_login = get_now() DBDiscussionSession.add(self.db_tobias) DBDiscussionSession.flush() transaction.commit() clear_clicks_of('Tobias') clear_seen_by_of('Tobias') self.db_tobias.last_login = self.last_login_of_tobias DBDiscussionSession.add(self.db_tobias) DBDiscussionSession.flush() transaction.commit()
def tearDown(self): testing.tearDown() clear_clicks_of('Tobias') clear_seen_by_of('Tobias')