def testPostUser(self): n3, k3 = uuid.uuid4().hex, fakePublicKey() status, result = views.postUser(n3, k3) self.assertEqual(200, status) User.get(n3).delete() status, result = views.postUser(simulateUrl(self.n1), k3) self.assertEqual(403, status) self.assertEqual(self.k1, User.get(self.n1).public_key) # Public key too long k3 ='{"pq":[%s0],"e":[17]}' % ('1,' * (LIMITS['KEY']/2 - 9)) assert semiValidPublicKey(k3), k3 assert(len(k3) > LIMITS['KEY']) status, result = views.postUser(n3, k3) self.assertEqual(400, status) self.assertEqual(None, User.get(n3)) # Public key invalid k3 = '{"pq":[3,4],"z":[9]}' assert not semiValidPublicKey(k3), k3 status, result = views.postUser(n3, k3) self.assertEqual(400, status) self.assertEqual(None, User.get(n3)) # Username too long n3 = uuid.uuid4().hex + ('?' * (LIMITS['USERNAME']-32+1)) k3 = fakePublicKey() assert(len(n3) > LIMITS['USERNAME']) status, result = views.postUser(n3, k3) self.assertEqual(400, status) self.assertEqual(None, User.get(n3))