Beispiel #1
0
    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"))
Beispiel #2
0
    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)
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
    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)