コード例 #1
0
class PublicAccessSystemTestCase(TransactionTestCase):
    def setUp(self):
        john = User(username='******', email='*****@*****.**', is_active=True)
        john.set_password('password101')
        john.save()
        self.concept = Concept(title='title',
                               description='title',
                               user=john,
                               published=True)
        self.concept.save()

        strip_image_path = os.path.join(os.getcwd(), 'test.png')
        strip_image = SimpleUploadedFile(name='strip.jpg',
                                         content=open(strip_image_path,
                                                      'rb').read(),
                                         content_type='image/jpeg')
        strip = Strip(concept=self.concept, user=john, image=strip_image)
        strip.save()

    def test_page_contains_directional_links_next_previous_last_first(self):
        url = reverse('public:slug', args=[self.concept.slug])
        response = self.client.get(url, follow=True)
        html_text = response.content.decode('utf-8').lower()
        self.assertTrue('first' in html_text)
        self.assertTrue('previous' in html_text)
        self.assertTrue('random' in html_text)
        self.assertTrue('next' in html_text)
        self.assertTrue('last' in html_text)
コード例 #2
0
ファイル: tests.py プロジェクト: jnduli/comic_server
 def setUp(self):
     # create user
     john = User(username='******', email='*****@*****.**', is_active=True)
     john.set_password('password101')
     john.save()
     concept = Concept(title='title',description='title',user=john)
     concept.save()
     self.concept = concept
コード例 #3
0
class GimpTestCase(TransactionTestCase):

    def setUp(self):
        john = User(username='******', email='*****@*****.**', is_active=True)
        john.set_password('password101')
        john.save()
        self.concept = Concept(title='title', description='title', user=john)
        self.concept.save()

    def test_gimp_create_url_fail(self):
        url = '/gimp/concept/' + str(self.concept.id) + '/add_gimp/'
        response = self.client.get(url, follow=True)
        self.assertNotEqual(response.status_code, 404)
        self.assertRedirects(response, '%s?next=%s' %(reverse('auth:login'), url))

    def test_gimp_create_url_pass(self):
        self.client.login(username='******', password='******')
        url = '/gimp/concept/' + str(self.concept.id) + '/add_gimp/'
        response = self.client.get(url, follow=True)
        self.assertEqual(response.status_code, 200)

    def test_upload_gimp(self):
        self.client.login(username='******', password='******')
        test_gimp = SimpleUploadedFile("gimp.xcf", b"file_content")
        url = '/gimp/concept/' + str(self.concept.id) + '/add_gimp/'
        response = self.client.post(url, {'file_gimp' : test_gimp}, format='multipart', follow=True)
        gimp = Gimp.objects.get(concept = self.concept)
        self.assertTrue("title" in gimp.file_gimp.name)
        self.assertRedirects(response, reverse('concept:detail_concept', kwargs={'pk':self.concept.pk}))

    def upload_gimp(self):
        self.client.login(username='******', password='******')
        test_gimp = SimpleUploadedFile("gimp.xcf", b"file_content")
        url = '/gimp/concept/' + str(self.concept.id) + '/add_gimp/'
        response = self.client.post(url, {'file_gimp' : test_gimp}, format='multipart', follow=True)
#
    def test_gimp_edit_url_fail(self):
        url = '/gimp/concept/' + str(self.concept.id) + '/edit_gimp/'
        response = self.client.get(url, follow=True)
        self.assertRedirects(response, '%s?next=%s' %(reverse('auth:login'),url))
#
    def test_gimp_edit_url_pass(self):
        self.upload_gimp()
        self.client.login(username='******', password='******')
        url = '/gimp/concept/' + str(self.concept.id) + '/edit_gimp/'
        response = self.client.get(url, follow=True)
        self.assertEqual(response.status_code, 200)

    def test_update_sketch(self):
        self.upload_gimp()
        self.client.login(username='******', password='******')
        test_gimp = SimpleUploadedFile("gimp.xcf", b"file_content")
        url = '/gimp/concept/' + str(self.concept.id) + '/edit_gimp/'
        response = self.client.post(url , {'file_gimp': test_gimp}, format='multipart', follow=True)
        gimp = Gimp.objects.get(concept = self.concept)
        self.assertTrue("title" in gimp.file_gimp.name)
コード例 #4
0
ファイル: tests.py プロジェクト: jnduli/comic_server
class StripTestCase(TransactionTestCase):
    def setUp(self):
        john = User(username='******', email='*****@*****.**', is_active=True)
        john.set_password('password101')
        john.save()
        self.concept = Concept(title='title', description='title', user=john)
        self.concept.save()

    def test_strip_create_url_fail(self):
        url = '/strip/concept/' + str(self.concept.id) + '/add_strip/'
        response = self.client.get(url, follow=True)
        self.assertNotEqual(response.status_code, 404)
        self.assertRedirects(response,
                             '%s?next=%s' % (reverse('auth:login'), url))

    def test_strip_create_url_pass(self):
        self.client.login(username='******', password='******')
        url = '/strip/concept/' + str(self.concept.id) + '/add_strip/'
        response = self.client.get(url, follow=True)
        self.assertEqual(response.status_code, 200)

    def test_upload_strip(self):
        self.client.login(username='******', password='******')
        test_strip = open(os.path.join(os.getcwd(), 'test.png'), "rb")
        url = '/strip/concept/' + str(self.concept.id) + '/add_strip/'
        response = self.client.post(url, {'image': test_strip},
                                    format='multipart',
                                    follow=True)
        strip = Strip.objects.get(concept=self.concept)
        self.assertTrue("title" in strip.image.name)
        self.assertRedirects(
            response,
            reverse('concept:detail_concept', kwargs={'pk': self.concept.pk}))

    def upload_strip(self):
        self.client.login(username='******', password='******')
        test_strip = open(os.path.join(os.getcwd(), 'test.png'), "rb")
        url = '/strip/concept/' + str(self.concept.id) + '/add_strip/'
        response = self.client.post(url, {'image': test_strip},
                                    format='multipart',
                                    follow=True)
#

    def test_strip_edit_url_fail(self):
        url = '/strip/concept/' + str(self.concept.id) + '/edit_strip/'
        response = self.client.get(url, follow=True)
        self.assertRedirects(response,
                             '%s?next=%s' % (reverse('auth:login'), url))

    def test_strip_edit_url_pass(self):
        self.upload_strip()
        self.client.login(username='******', password='******')
        url = '/strip/concept/' + str(self.concept.id) + '/edit_strip/'
        response = self.client.get(url, follow=True)
        self.assertEqual(response.status_code, 200)
コード例 #5
0
def create(request):
    if request.method == 'POST':
        print("POST")
        form = ConceptForm(request.POST,instance=Concept())
        if form.is_valid():
                form.save()
                return listing(request)

        return render_to_response('concept/create.html', {'theform' : form, 'image':  1, 'etat':'invalide' },context_instance=RequestContext(request))

    elif request.method == 'GET':
        form = ConceptForm(instance=Concept())
        return render_to_response('concept/create.html', {'theform' : form, 'image':  1,'etat':'valide' },context_instance=RequestContext(request))
コード例 #6
0
    def setUp(self):
        john = User(username='******', email='*****@*****.**', is_active=True)
        john.set_password('password101')
        john.save()
        self.concept = Concept(title='title',
                               description='title',
                               user=john,
                               published=True)
        self.concept.save()

        strip_image_path = os.path.join(os.getcwd(), 'test.png')
        strip_image = SimpleUploadedFile(name='strip.jpg',
                                         content=open(strip_image_path,
                                                      'rb').read(),
                                         content_type='image/jpeg')
        strip = Strip(concept=self.concept, user=john, image=strip_image)
        strip.save()
コード例 #7
0
    def test_indirect_cycle(self):
        #c1 = Concept(name="racine",lname="plus long la racine : carotte ?",description=" tss tss tss")
        #c1.save()
        c2 = Concept(name="variable",lname="px par exemple ?",description=" encore un concept")
        c2.save()
        c3 = Concept(name="Troisième",lname="px mple ?",
                     description=" encore un concept pour une detection lointaine de cycle")
        c3.save()

        l1= Link(ascendant=Concept.racine(),descendant=c2)
        l2= Link(ascendant=c2,descendant=c3)
        l3 =Link(ascendant=c3,descendant=Concept.racine())
        l1.save()
        l2.save()
        try:
            l3.save() # ceci doit échouer car cela créerai un cycle indirect
        except CreateCycleException as e:
            print(e)
        except Exception :
            self.fail("din't raise CreateCycleException")

        self.assertEqual(Link.objects.all().count(),2) # y en a 3
コード例 #8
0
    def test_direct_cycle(self):

         # remarque cette méthode count évite de créer le quéry set et utilise le sql directement
        self.assertEqual(Concept.objects.all().count(),1)
        c2 = Concept(name="variable",lname="px par exemple ?",description=" encore un concept")
        c2.save()


        self.assertEqual(Concept.objects.all().count(),2)
        c1=Concept.racine()
        l1=Link(descendant=c2,ascendant=c1)
        l1.save()
        print(l1)
        self.assertEqual(Link.objects.all().count(),1)
        l2=Link(descendant=c1,ascendant=c2)
        try:
            l2.save() # ceci doit échouer car cela créerai un cycle
        except CreateCycleException as e:
            print(e)
        except Exception :
            self.fail("din't raise CreateCycleException")
        self.assertEqual(Link.objects.all().count(),1)
コード例 #9
0
ファイル: views.py プロジェクト: pixyj/feel
 def get(self, request):
     concepts = Concept.get_concepts_created_by_user(user=request.user)
     return Response(concepts.data)
コード例 #10
0
ファイル: views.py プロジェクト: pixyj/feel
 def get(self, request):
     concepts = Concept.get_concepts_created_by_user(user=request.user)
     return Response(concepts.data)
コード例 #11
0
 def test_insert_and_delete(self):
     '''
     verifier que le lien ne fait pas sauter des dépendances
     si l'on retire un lien il y a deux cas de figure
     1) Full : on retire le lien et tous ces prérequis
     2) local: on retire le lien mais l'on rajoute tous ces dépendatence directes
     Pour tester il fau1t créer un graphe asser complexe de hauteur 4
     '''
     c1 = Concept.racine()
     c2 = Concept(name="variable",lname="px par exemple ?",description=" encore un concept")
     c2.save()
     self.assertEqual(1,Link.objects.all().count()) # création automatique du lien vers la racine
     c3 = Concept(name="Troisième",lname="px mple ?",
                  description=" pfff ")
     c3.save()
     c4 = Concept(name="Quatre",lname="px mple ?",
                  description=" poliveau ")
     c4.save()
     c5 = Concept(name="CINQ",lname="px mple ?",
                  description="  entre la rue de Vanve et la rue didot")
     c5.save()
     #  creation des  liens avec la racine automatique donc 4 liens après la création de 5 concepts
     self.assertEqual(4,Link.objects.all().count())
     l2= Link(ascendant=c2,descendant=c3)
     l2.save()
     # le lien c3 -> c1 disparait
     self.assertEqual(4,Link.objects.all().count())
     l3 =Link(ascendant=c3,descendant=c4)
     l3.save()
     # le lien c4 -> c1 est retiré
     self.assertEqual(4,Link.objects.all().count())
     l4 =Link(ascendant=c4,descendant=c5)
     l4.save()
     # idem
     self.assertEqual(4,Link.objects.all().count())
     Concept.objects.filter(pk=1).delete()
     # ne pas effacer la racine
     self.assertEqual(4,Link.objects.all().count())
コード例 #12
0
 def testDelete(self):
     self.assertEqual(1,Concept.objects.count())
     ck = Concept(name="Bob",lname="un nom plus long ",description=" tss tss tss")
     ck.save()
     ck.delete()
     self.assertEqual(1,len(Concept.objects.all()))
コード例 #13
0
 def setUp(self):
     c1 = Concept(name="racine",lname="plus long la racine : carotte ?",description=" tss tss tss")
     c1.save()
     c1.delete()
     self.assertEqual(c1.pk,1)