4
4
from mock import patch
5
5
from django .test import TestCase
6
6
from django .contrib .auth .models import User
7
- from django .contrib .staticfiles .templatetags .staticfiles import static
8
7
from django .contrib .messages import constants as message_const
9
8
from django .core .urlresolvers import reverse
10
9
from django .http .response import HttpResponseRedirect
11
10
from django .views .generic .base import ContextMixin
12
- from django_dynamic_fixture import get
13
- from django_dynamic_fixture import new
11
+ from django_dynamic_fixture import get , new
14
12
15
13
import six
16
14
@@ -424,10 +422,6 @@ def get_project_queryset(self):
424
422
class TestBadges (TestCase ):
425
423
"""Test a static badge asset is served for each build."""
426
424
427
- # To set `flat` as default style as done in code.
428
- def get_badge_path (self , version , style = 'flat' ):
429
- return static (self .BADGE_PATH % (version , style ))
430
-
431
425
def setUp (self ):
432
426
self .BADGE_PATH = 'projects/badges/%s-%s.svg'
433
427
self .project = get (Project , slug = 'badgey' )
@@ -436,32 +430,39 @@ def setUp(self):
436
430
437
431
def test_unknown_badge (self ):
438
432
res = self .client .get (self .badge_url , {'version' : self .version .slug })
439
- static_badge = self .get_badge_path ('unknown' )
440
- self .assertEquals (res .url , static_badge )
433
+ self .assertContains (res , 'unknown' )
434
+
435
+ # Unknown project
436
+ unknown_project_url = reverse ('project_badge' , args = ['fake-project' ])
437
+ res = self .client .get (unknown_project_url , {'version' : 'latest' })
438
+ self .assertContains (res , 'unknown' )
441
439
442
440
def test_passing_badge (self ):
443
441
get (Build , project = self .project , version = self .version , success = True )
444
442
res = self .client .get (self .badge_url , {'version' : self .version .slug })
445
- static_badge = self .get_badge_path ( 'passing' )
446
- self .assertEquals (res . url , static_badge )
443
+ self .assertContains ( res , 'passing' )
444
+ self .assertEqual (res [ 'Content-Type' ], 'image/svg+xml' )
447
445
448
446
def test_failing_badge (self ):
449
447
get (Build , project = self .project , version = self .version , success = False )
450
448
res = self .client .get (self .badge_url , {'version' : self .version .slug })
451
- static_badge = self .get_badge_path ('failing' )
452
- self .assertEquals (res .url , static_badge )
449
+ self .assertContains (res , 'failing' )
453
450
454
451
def test_plastic_failing_badge (self ):
455
452
get (Build , project = self .project , version = self .version , success = False )
456
453
res = self .client .get (self .badge_url , {'version' : self .version .slug , 'style' : 'plastic' })
457
- static_badge = self .get_badge_path ('failing' , 'plastic' )
458
- self .assertEquals (res .url , static_badge )
454
+ self .assertContains (res , 'failing' )
455
+
456
+ # The plastic badge has slightly more rounding
457
+ self .assertContains (res , 'rx="4"' )
459
458
460
459
def test_social_passing_badge (self ):
461
460
get (Build , project = self .project , version = self .version , success = True )
462
- res = self .client .get (self .badge_url , {'version' : self .version .slug , 'style' : 'social' })
463
- static_badge = self .get_badge_path ('passing' , 'social' )
464
- self .assertEquals (res .url , static_badge )
461
+ res = self .client .get (self .badge_url , {'version' : self .version .slug , 'style' : 'social' })
462
+ self .assertContains (res , 'passing' )
463
+
464
+ # The social badge (but not the other badges) has this element
465
+ self .assertContains (res , 'rlink' )
465
466
466
467
467
468
class TestTags (TestCase ):
0 commit comments