def test_init(self): auth = nonza.SASLAuth("foo") self.assertEqual(auth.mechanism, "foo") self.assertEqual(auth.payload, None) auth = nonza.SASLAuth(mechanism="foo", payload=b"foobar") self.assertEqual(auth.mechanism, "foo") self.assertEqual(auth.payload, b"foobar")
def test_initiate_challenge(self): state, payload = self._run_test(self.sm.initiate("foo", b"bar"), [ XMLStreamMock.Send(nonza.SASLAuth(mechanism="foo", payload=b"bar"), response=XMLStreamMock.Receive( nonza.SASLChallenge(payload=b"baz"))) ]) self.assertEqual(state, "challenge") self.assertEqual(payload, b"baz")
def test_initiate_success(self): state, payload = self._run_test(self.sm.initiate("foo", b"bar"), [ XMLStreamMock.Send(nonza.SASLAuth(mechanism="foo", payload=b"bar"), response=XMLStreamMock.Receive( nonza.SASLSuccess())) ]) self.assertEqual(state, "success") self.assertIsNone(payload)
def test_initiate_failure(self): with self.assertRaises(aiosasl.SASLFailure) as ctx: self._run_test(self.sm.initiate("foo", b"bar"), [ XMLStreamMock.Send( nonza.SASLAuth(mechanism="foo", payload=b"bar"), response=XMLStreamMock.Receive( nonza.SASLFailure(condition=(namespaces.sasl, "not-authorized")))) ]) self.assertEqual("not-authorized", ctx.exception.opaque_error)