def test_init(self): fail = nonza.SASLFailure() self.assertEqual(fail.condition, (namespaces.sasl, "temporary-auth-failure")) fail = nonza.SASLFailure(condition=(namespaces.sasl, "invalid-authzid")) self.assertEqual(fail.condition, (namespaces.sasl, "invalid-authzid"))
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)
def test_abort_return_on_aborted_error(self): self.sm._state = "challenge" state, payload = self._run_test(self.sm.abort(), [ XMLStreamMock.Send( nonza.SASLAbort(), response=XMLStreamMock.Receive( nonza.SASLFailure(condition=(namespaces.sasl, "aborted")))) ]) self.assertEqual(state, "failure") self.assertIsNone(payload)
def test_response_failure(self): self.sm._state = "challenge" with self.assertRaises(aiosasl.SASLFailure) as ctx: self._run_test(self.sm.respond(b"bar"), [ XMLStreamMock.Send( nonza.SASLResponse(payload=b"bar"), response=XMLStreamMock.Receive( nonza.SASLFailure(condition=(namespaces.sasl, "credentials-expired")))) ]) self.assertEqual("credentials-expired", ctx.exception.opaque_error)
def test_abort_re_raise_other_errors(self): self.sm._state = "challenge" with self.assertRaises(aiosasl.SASLFailure) as ctx: self._run_test(self.sm.abort(), [ XMLStreamMock.Send( nonza.SASLAbort(), response=XMLStreamMock.Receive( nonza.SASLFailure(condition=(namespaces.sasl, "mechanism-too-weak")))) ]) self.assertEqual("mechanism-too-weak", ctx.exception.opaque_error)