Completed
Branch master (28ef54)
by Fox
01:25
created

WallabagTest.create_triggerservice()   B

Complexity

Conditions 1

Size

Total Lines 25

Duplication

Lines 25
Ratio 100 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
dl 25
loc 25
rs 8.8571
1
# coding: utf-8
2
from django.test import TestCase
3
from django.conf import settings
4
from django.contrib.auth.models import User
5
from th_wallabag.models import Wallabag
6
from django_th.models import TriggerService, UserService, ServicesActivated
7
from th_wallabag.forms import WallabagProviderForm, WallabagConsumerForm
8
9
10
class WallabagTest(TestCase):
11
12
    """
13
        wallabagTest Model
14
    """
15
    def setUp(self):
16
        """
17
           create a user
18
        """
19
        try:
20
            self.user = User.objects.get(username='john')
21
        except User.DoesNotExist:
22
            self.user = User.objects.create_user(
23
                username='john', email='[email protected]', password='doe')
24
25 View Code Duplication
    def create_triggerservice(self, date_created="20130610",
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
26
                              description="My first Service", status=True):
27
        """
28
           create a TriggerService
29
        """
30
        user = self.user
31
32
        service_provider = ServicesActivated.objects.create(
33
            name='ServiceRSS', status=True,
34
            auth_required=False, description='Service RSS')
35
        service_consumer = ServicesActivated.objects.create(
36
            name='ServiceWallabag', status=True,
37
            auth_required=True, description='Service Wallabag')
38
        provider = UserService.objects.create(user=user,
39
                                              token="",
40
                                              name=service_provider)
41
        consumer = UserService.objects.create(user=user,
42
                                              token="AZERTY1234",
43
                                              name=service_consumer)
44
        return TriggerService.objects.create(provider=provider,
45
                                             consumer=consumer,
46
                                             user=user,
47
                                             date_created=date_created,
48
                                             description=description,
49
                                             status=status)
50
51
    def create_wallabag(self):
52
        """
53
            Create a Wallabag object related to the trigger object
54
        """
55
        trigger = self.create_triggerservice()
56
        url = 'http://trigger-happy.eu'
57
        title = 'Trigger Happy'
58
        status = True
59
        return Wallabag.objects.create(trigger=trigger,
60
                                       url=url,
61
                                       title=title,
62
                                       status=status)
63
64
    def test_wallabag(self):
65
        """
66
           Test if the creation of the wallabag object looks fine
67
        """
68
        d = self.create_wallabag()
69
        self.assertTrue(isinstance(d, Wallabag))
70
        self.assertEqual(d.show(), "My Wallabag %s" % d.url)
71
72
    """
73
        Form
74
    """
75
    # provider
76
    def test_valid_provider_form(self):
77
        """
78
           test if that form is a valid provider one
79
        """
80
        d = self.create_wallabag()
81
        data = {'url': d.url}
82
        form = WallabagProviderForm(data=data)
83
        self.assertTrue(form.is_valid())
84
85
    # consumer
86
    def test_valid_consumer_form(self):
87
        """
88
           test if that form is a valid consumer one
89
        """
90
        d = self.create_wallabag()
91
        data = {'url': d.url}
92
        form = WallabagConsumerForm(data=data)
93
        self.assertTrue(form.is_valid())
94
95
    def test_get_config_th_cache(self):
96
        self.assertIn('th_wallabag', settings.CACHES)
97
98