def test_validateMessage_whenNoProjectInMessage(self) : s = SignatureValidator() with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage(client='client1') self.assertEqual( "Project not specified in message" , cm.exception.message)
def test_validateMessage_whenNoClientInMessage(self): s = SignatureValidator() with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage( project='project1', boo='lalala', ) self.assertEqual("Client not specified in message", cm.exception.message)
def test_validateMessage_whenBadClient(self): s = SignatureValidator() with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage( project="project1", client="badclient", ) self.assertEqual("Project or client not registered in server", cm.exception.message)
def test_validateMessage_whenBadClient(self) : s = SignatureValidator() with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage( project="project1", client="badclient", ) self.assertEqual( "Project or client not registered in server" , cm.exception.message)
def test_validateMessage_whenNoClientInMessage(self) : s = SignatureValidator() with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage( project='project1', boo='lalala', ) self.assertEqual( "Client not specified in message" , cm.exception.message)
def test_addClientKey(self) : s = SignatureValidator(FSClientKeyRing("fixture")) s.addClient( "project1","client1", publicKey = self.publicKey, ) self.assertEqual([ ("project1","client1"), ], s.clients()) self.assertEqual( self.publicKey, s.clientKey(("project1","client1")), )
def test_validateMessage_whenGoodSignature(self): s = SignatureValidator() s.addClient( project="project1", client="client1", publicKey=self.publicKey, ) message = dict( project="project1", client="client1", ) result = s.validateClientMessage(**self.signed(**message)) self.assertEqual(True, result)
def test_validateMessage_whenGoodSignature(self) : s = SignatureValidator() s.addClient( project = "project1", client="client1", publicKey = self.publicKey, ) message = dict( project = "project1", client="client1", ) result = s.validateClientMessage(**self.signed(**message)) self.assertEqual( True , result)
def test_validateMessage_whenNoSignature(self) : s = SignatureValidator() s.addClient( project = "project1", client="client1", publicKey = self.publicKey, ) with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage( project = "project1", client="client1", ) self.assertEqual( "Message not signed" , cm.exception.message)
def test_validateMessage_afterSettingWithTheSameValue(self): s = SignatureValidator() s.addClient( project="project1", client="client1", publicKey=self.publicKey, ) message = dict( project="project1", client="client1", ) signed = self.signed(**message) signed['client'] = "client1" result = s.validateClientMessage(**signed) self.assertEqual(True, result)
def test_validateMessage_afterSettingWithTheSameValue(self) : s = SignatureValidator() s.addClient( project = "project1", client="client1", publicKey = self.publicKey, ) message = dict( project = "project1", client="client1", ) signed = self.signed(**message) signed['client'] = "client1" result = s.validateClientMessage(**signed) self.assertEqual( True , result)
def test_validateMessage_whenBadSignature(self) : s = SignatureValidator() s.addClient( project = "project1", client="client1", publicKey = self.publicKey, ) message = dict( project = "project1", client="client1", signature = [1L,2L,3L,4L], ) with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage(**message) self.assertEqual( "Invalid signature" , cm.exception.message)
def test_validateMessage_afterModified(self) : s = SignatureValidator() s.addClient( "project1","client1", publicKey = self.publicKey, ) message = dict( project = "project1", client="client1", ) signed = self.signed(**message) signed['new key'] = "different value" with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage(**signed) self.assertEqual( "Invalid signature" , cm.exception.message)
def test_validateMessage_whenNoSignature(self): s = SignatureValidator() s.addClient( project="project1", client="client1", publicKey=self.publicKey, ) with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage( project="project1", client="client1", ) self.assertEqual("Message not signed", cm.exception.message)
def test_addClientKey(self): s = SignatureValidator(FSClientKeyRing("fixture")) s.addClient( "project1", "client1", publicKey=self.publicKey, ) self.assertEqual([ ("project1", "client1"), ], s.clients()) self.assertEqual( self.publicKey, s.clientKey(("project1", "client1")), )
def test_validateMessage_whenBadSignature(self): s = SignatureValidator() s.addClient( project="project1", client="client1", publicKey=self.publicKey, ) message = dict( project="project1", client="client1", signature=[1L, 2L, 3L, 4L], ) with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage(**message) self.assertEqual("Invalid signature", cm.exception.message)
def test_validateMessage_afterModified(self): s = SignatureValidator() s.addClient( "project1", "client1", publicKey=self.publicKey, ) message = dict( project="project1", client="client1", ) signed = self.signed(**message) signed['new key'] = "different value" with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage(**signed) self.assertEqual("Invalid signature", cm.exception.message)
def test_validateMessage_whenNoProjectInMessage(self): s = SignatureValidator() with self.assertRaises(SignatureValidator.SignatureError) as cm: s.validateClientMessage(client='client1') self.assertEqual("Project not specified in message", cm.exception.message)
def test_default_noClient(self): s = SignatureValidator() self.assertEqual([], s.clients())
def test_default_noClient(self) : s = SignatureValidator() self.assertEqual( [] , s.clients())