Exemple #1
0
    def test_user_contract_de_username(self):
        """
        user contract generation -- pdf generation
        """
        from c3sar.views.user import user_contract_de_username
        instance = self._makeUser()
        self.dbsession.add(instance)
        self.dbsession.flush()
        request = testing.DummyRequest()

        # rolled my own skiptest :-)
        import subprocess
        from subprocess import CalledProcessError
        try:
            #print "trying ......................."
            res = subprocess.check_call(["which", "pdftk"])
            #print "tried ........................"
            #print "result of this: " + str(res)
            if res == 0:
                print " ======== going ahead with the tests !!"

                self.config = testing.setUp(request=request)
                _registerRoutes(self.config)
                request.matchdict['username'] = instance.username
                result = user_contract_de_username(request)
                # print "generate contract de username"
                # pp.pprint(result)
                # print len(result.body)

                # test: result content_type == pdf
                self.assertEquals(result.content_type,
                                  'application/pdf',
                                  "result has wrong content type")
                # test: result pdf is > 80KB
                self.assertTrue(len(result.body) > 80000,
                                "resulting pdf smaller as expected")
                # test: result pdf is < 100KB
                self.assertTrue(len(result.body) < 100000,
                                "resulting pdf bigger as expected")

        except CalledProcessError, cpe:
            print "SKIPPING test_user_contract_de_username. "
            print "You need to install pdftk !!!"
Exemple #2
0
    def test_user_contract_de_username_fail(self):
        """
        user contract generation -- failure case
        """
        from c3sar.views.user import user_contract_de_username
        instance = self._makeUser()
        self.dbsession.add(instance)
        self.dbsession.flush()
        request = testing.DummyRequest()

        self.config = testing.setUp(request=request)
        _registerRoutes(self.config)
        request.matchdict['username'] = u''
        result = user_contract_de_username(request)
        #print "generate contract de username"
        #pp.pprint(result)
        #print len(result.body)

        # test: result content_type != pdf
        self.assertNotEquals(result.content_type,
                          'application/pdf', "result has wrong content type")
        # test: is a redirect
        self.assertTrue(isinstance(result, HTTPFound), 'no redirect seen')