Exemplo n.º 1
0
    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')
Exemplo n.º 2
0
 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')
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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')
Exemplo n.º 5
0
 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)
Exemplo n.º 6
0
 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)
Exemplo n.º 7
0
    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()
Exemplo n.º 8
0
 def tearDown(self):
     testing.tearDown()
     clear_clicks_of('Tobias')
     clear_seen_by_of('Tobias')