示例#1
0
    def test_send(self):
        '''
        Creates 3 users, 2 teams and 2 filters.

        User 1 and 2 is a member of team 1 and user 2 is a member of team 2.
        Team 1 has a relation to both filter 1 and 2.
        Team 2 has a relation to filter 2.

        User 1 and 3 should receive an email and User 2 should not.
        '''
        user = User.new(name=u'Test user 1',
                        email='*****@*****.**',
                        notification_types={
                            'send_email': {
                                'data': '*****@*****.**',
                                'enabled': True,
                            }
                        })
        user2 = User.new(name=u'Test user 2',
                         email='*****@*****.**',
                         notification_types={
                             'send_email': {
                                 'data': '*****@*****.**',
                                 'enabled': False,
                             }
                         })
        user3 = User.new(name=u'Test user 3',
                         email='*****@*****.**',
                         notification_types={
                             'send_email': {
                                 'data': '*****@*****.**',
                                 'enabled': True,
                             }
                         })
        team = Team.new(name=u'Test team 1', )
        team2 = Team.new(name=u'Test team 2', )
        filter1 = Filter.new(
            name=u'Test filter 1',
            data_yaml='notify: true',
        )
        filter2 = Filter.new(
            name=u'Test filter 2',
            data_yaml='notify: false',
        )
        # create a relations
        User_team.new(team_id=team.id, user_id=user.id)
        User_team.new(team_id=team2.id, user_id=user2.id)
        User_team.new(team_id=team.id, user_id=user3.id)
        Filter_team.new(filter_id=filter1.id, team_id=team.id)
        Filter_team.new(filter_id=filter2.id, team_id=team.id)
        Filter_team.new(filter_id=filter2.id, team_id=team2.id)

        Mock_notifier.email_send = False
        Notifier.send(message='Test notification',
                      filters=[
                          filter1,
                          filter2,
                      ])
        self.assertTrue(Mock_notifier.email_send)
示例#2
0
    def test(self):
        # new
        filter_ = Filter.new(name=u'Test filter ø', data_yaml='')
        team = Team.new(name=u'Test team ø')

        self.assertTrue(
            Filter_team.new(
                filter_id=filter_.id,
                team_id=team.id,
            )
        )

        # get teams by filter_id
        teams = Filter_team.get_teams_by_filter_id(filter_id=filter_.id)
        self.assertEqual(len(teams), 1)
        self.assertEqual(team.id, teams[0].id)

        # delete
        self.assertTrue(
            Filter_team.delete(
                filter_id=filter_.id,
                team_id=team.id,
            )
        )
        teams = Filter_team.get_teams_by_filter_id(filter_id=filter_.id)
        self.assertEqual(len(teams), 0)
示例#3
0
文件: team.py 项目: thomaserlang/TLog
 def post(self):
     '''
     Validates and creates a new team.
     Redirects to the new team if successful.
     '''
     form = forms.Team(self.request.arguments)
     if form.validate():
         try:
             team = Team.new(name=form.name.data, )
             self.redirect('/team/{}'.format(team.id))
             return
         except Team_exception_duplicate_name as e:
             form.name.errors.append(e.message)
     self.render(
         'team.html',
         title='New team',
         form=form,
         edit=False,
     )
示例#4
0
    def test_delete(self):
        user = self.new_user()
        team = Team.new(
            name='Test team', 
        )
        self.assertTrue(
            User_team.new(
                user_id=user.id,
                team_id=team.id,
            )
        )
        teams = User_teams.get(user_id=user.id)
        self.assertEqual(len(teams), 1)
        self.assertEqual(teams[0].id, team.id)

        self.assertTrue(
            User_team.delete(user_id=user.id, team_id=team.id)
        )
        teams = User_teams.get(user_id=user.id)
        self.assertEqual(len(teams), 0)
示例#5
0
文件: team.py 项目: thomaserlang/TLog
 def post(self):
     '''
     Validates and creates a new team.
     Redirects to the new team if successful.
     '''
     form = forms.Team(self.request.arguments)
     if form.validate():
         try:
             team = Team.new(
                 name=form.name.data,
             )
             self.redirect('/team/{}'.format(team.id))
             return
         except Team_exception_duplicate_name as e:
             form.name.errors.append(e.message)
     self.render(
         'team.html',
         title='New team',
         form=form,
         edit=False,
     )
示例#6
0
    def test_new(self):
        user = self.new_user()
        team = Team.new(
            name='Test team', 
        )
        self.assertTrue(
            User_team.new(
                user_id=user.id,
                team_id=team.id,
            )
        )
        teams = User_teams.get(user_id=user.id)
        self.assertEqual(len(teams), 1)
        self.assertEqual(teams[0].id, team.id)

        users = Users_team.get(team_id=team.id)
        self.assertEqual(len(users), 1)
        self.assertEqual(users[0].id, user.id)

        users = Users_team.get_by_team_list(teams=[team])
        self.assertEqual(len(users), 1)
        self.assertEqual(users[0].id, user.id)
示例#7
0
    def test_send(self):
        '''
        Creates 3 users, 2 teams and 2 filters.

        User 1 and 2 is a member of team 1 and user 2 is a member of team 2.
        Team 1 has a relation to both filter 1 and 2.
        Team 2 has a relation to filter 2.

        User 1 and 3 should receive an email and User 2 should not.
        '''
        user = User.new(
            name=u'Test user 1', 
            email='*****@*****.**',
            notification_types={
                'send_email': {
                    'data': '*****@*****.**',
                    'enabled': True,
                }
            }
        )
        user2 = User.new(
            name=u'Test user 2', 
            email='*****@*****.**',
            notification_types={
                'send_email': {
                    'data': '*****@*****.**',
                    'enabled': False,
                }
            }
        )
        user3 = User.new(
            name=u'Test user 3', 
            email='*****@*****.**',
            notification_types={
                'send_email': {
                    'data': '*****@*****.**',
                    'enabled': True,
                }
            }
        )
        team = Team.new(
            name=u'Test team 1',
        )
        team2 = Team.new(
            name=u'Test team 2',
        )
        filter1 = Filter.new(
            name=u'Test filter 1', 
            data_yaml='notify: true',
        )
        filter2 = Filter.new(
            name=u'Test filter 2', 
            data_yaml='notify: false',
        )
        # create a relations
        User_team.new(
            team_id=team.id, 
            user_id=user.id
        )
        User_team.new(
            team_id=team2.id, 
            user_id=user2.id
        )
        User_team.new(
            team_id=team.id, 
            user_id=user3.id
        )
        Filter_team.new(
            filter_id=filter1.id, 
            team_id=team.id
        )
        Filter_team.new(
            filter_id=filter2.id, 
            team_id=team.id
        )
        Filter_team.new(
            filter_id=filter2.id, 
            team_id=team2.id
        )

        Mock_notifier.email_send = False
        Notifier.send(
            message='Test notification',
            filters=[
                filter1,
                filter2,
            ]
        )
        self.assertTrue(Mock_notifier.email_send)
示例#8
0
 def new_team(self):
     return Team.new(name=u'Test team ø', )
示例#9
0
 def new_team(self):
     return Team.new(
         name=u'Test team ø',
     )