示例#1
0
    def test_change_feed(self):
        # test saving a form when we already have an import feed

        # create an account with an import feed
        account = models.BrightcoveAccount.objects.create(
            team=self.team,
            publisher_id=self.publisher_id,
            write_token=self.write_token)
        account.make_feed(self.player_id, ['cats'])
        first_feed = account.import_feed
        # test saving a form with different feed tags.  We should update the
        # feed URL, but not make a new feed object
        data = {
            'enabled': '1',
            'publisher_id': self.publisher_id,
            'write_token': self.write_token,
            'feed_enabled': '1',
            'player_id': self.player_id,
            'feed_type': forms.BrightcoveAccountForm.FEED_WITH_TAGS,
            'feed_tags': 'cats, dogs',
        }
        form = forms.BrightcoveAccountForm(self.team, data)
        account = form.save()
        self.assertEquals(account.import_feed.id, first_feed.id)
        test_utils.import_videos_from_feed.delay.assert_called_with(
            account.import_feed.id)
        # test saving the form with the same tags.  We should import videos
        # for this save
        form = forms.BrightcoveAccountForm(self.team, data)
        account = form.save()
        self.assertEquals(account.import_feed.id, first_feed.id)
        self.assertEquals(test_utils.import_videos_from_feed.delay.call_count,
                          1)
示例#2
0
 def test_disable_deletes_account(self):
     # test enabled being false when we have an account.  In this case
     # save() should delete the account
     account = BrightcoveAccountFactory(team=self.team)
     assert_equal(models.BrightcoveAccount.objects.count(), 1)
     form = forms.BrightcoveAccountForm(self.team, {})
     assert_true(form.is_valid(), form.errors.as_text())
     form.save()
     assert_equal(models.BrightcoveAccount.objects.count(), 0)
示例#3
0
 def test_tags_required_with_feed_with_tags(self):
     form = forms.BrightcoveAccountForm(
         self.team, {
             'enabled': '1',
             'publisher_id': self.publisher_id,
             'write_token': self.write_token,
             'feed_enabled': '1',
             'player_id': self.player_id,
             'feed_type': forms.BrightcoveAccountForm.FEED_WITH_TAGS,
             'feed_tags': '',
         })
     self.assertEquals(form.is_valid(), False)
     self.assertEquals(form.errors.keys(), ['feed_tags'])
示例#4
0
 def test_no_feed(self):
     form = forms.BrightcoveAccountForm(
         self.team, {
             'enabled': '1',
             'publisher_id': self.publisher_id,
             'write_token': self.write_token,
         })
     assert_true(form.is_valid(), form.errors.as_text())
     account = form.save()
     self.assertEquals(account.publisher_id, self.publisher_id)
     self.assertEquals(account.write_token, self.write_token)
     self.assertEquals(account.team, self.team)
     self.assertEquals(account.import_feed, None)
示例#5
0
    def test_feed_exists(self):
        # test that we set initial values for the feed inputs for accounts
        # with feeds created.

        # create an account with an import feed
        account = models.BrightcoveAccount.objects.create(
            team=self.team,
            publisher_id=self.publisher_id,
            write_token=self.write_token)
        account.make_feed(self.player_id)
        form = forms.BrightcoveAccountForm(self.team)
        self.assertEquals(form.fields['player_id'].initial, self.player_id)
        self.assertEquals(form.fields['feed_type'].initial,
                          forms.BrightcoveAccountForm.FEED_ALL_NEW)
        self.assertEquals(form.fields['feed_tags'].initial, '')

        # try again when using tags
        account.make_feed(self.player_id, ['cats', 'dogs'])
        form = forms.BrightcoveAccountForm(self.team)
        self.assertEquals(form.fields['player_id'].initial, self.player_id)
        self.assertEquals(form.fields['feed_type'].initial,
                          forms.BrightcoveAccountForm.FEED_WITH_TAGS)
        self.assertEquals(form.fields['feed_tags'].initial, 'cats, dogs')
示例#6
0
 def test_feed_all_new(self):
     form = forms.BrightcoveAccountForm(
         self.team, {
             'enabled': '1',
             'publisher_id': self.publisher_id,
             'write_token': self.write_token,
             'feed_enabled': '1',
             'player_id': self.player_id,
             'feed_type': forms.BrightcoveAccountForm.FEED_ALL_NEW,
             'feed_tags': '',
         })
     self.assert_(form.is_valid(), form.errors.as_text())
     account = form.save()
     self.assertNotEquals(account.import_feed, None)
     self.assertEquals(account.import_feed.url, self.feed_url())
     test_utils.import_videos_from_feed.delay.assert_called_with(
         account.import_feed.id)
示例#7
0
    def test_remove_feed(self):
        account = models.BrightcoveAccount.objects.create(
            team=self.team,
            publisher_id=self.publisher_id,
            write_token=self.write_token)
        account.make_feed(self.player_id)
        old_import_feed = account.import_feed

        form = forms.BrightcoveAccountForm(
            self.team, {
                'enabled': '1',
                'publisher_id': self.publisher_id,
                'write_token': self.write_token,
                'player_id': self.player_id,
                'feed_type': forms.BrightcoveAccountForm.FEED_ALL_NEW,
                'feed_tags': '',
            })
        account = form.save()
        self.assertEquals(account.import_feed, None)
        self.assert_(not VideoFeed.objects.filter(id=old_import_feed.id))
示例#8
0
 def test_feed_with_tags(self):
     # feed tags should be a comma separated list of tags.  If there are
     # spaces inside the tag we should preserve them
     form = forms.BrightcoveAccountForm(
         self.team, {
             'enabled': '1',
             'publisher_id': self.publisher_id,
             'write_token': self.write_token,
             'feed_enabled': '1',
             'player_id': self.player_id,
             'feed_type': forms.BrightcoveAccountForm.FEED_WITH_TAGS,
             'feed_tags': 'cats, cute pets,dogs  ',
         })
     self.assert_(form.is_valid(), form.errors.as_text())
     account = form.save()
     self.assertNotEquals(account.import_feed, None)
     self.assertEquals(account.import_feed.url,
                       self.feed_url('cats', 'cute pets', 'dogs'))
     test_utils.import_videos_from_feed.delay.assert_called_with(
         account.import_feed.id)
示例#9
0
 def test_disable_no_account(self):
     # test enabled being false when there's no account to delete.  In this
     # case save() should be a no-op
     form = forms.BrightcoveAccountForm(self.team, {})
     assert_true(form.is_valid(), form.errors.as_text())
     form.save()