From 2e1782fe8ce2e2617f957db5460f82b3627f7c9d Mon Sep 17 00:00:00 2001 From: Sonny Piers Date: Sun, 22 Dec 2024 13:13:59 +0100 Subject: [PATCH] Remove sasl2 SASLError --- packages/error/test.js | 2 + packages/sasl/lib/SASLError.test.js | 71 +++++++++++++++++++++++++++++ packages/sasl2/lib/SASLError.js | 12 ----- 3 files changed, 73 insertions(+), 12 deletions(-) create mode 100644 packages/sasl/lib/SASLError.test.js delete mode 100644 packages/sasl2/lib/SASLError.js diff --git a/packages/error/test.js b/packages/error/test.js index da3b3867..5905200d 100644 --- a/packages/error/test.js +++ b/packages/error/test.js @@ -20,6 +20,7 @@ test("fromElement", () => { const error = XMPPError.fromElement(nonza); expect(error instanceof Error).toBe(true); + expect(error instanceof XMPPError).toBe(true); expect(error.name).toBe("XMPPError"); expect(error.condition).toBe("some-condition"); expect(error.text).toBe("foo"); @@ -42,6 +43,7 @@ test("fromElement - whitespaces", () => { const error = XMPPError.fromElement(nonza); expect(error instanceof Error).toBe(true); + expect(error instanceof XMPPError).toBe(true); expect(error.name).toBe("XMPPError"); expect(error.condition).toBe("some-condition"); expect(error.text).toBe("\n foo\n "); diff --git a/packages/sasl/lib/SASLError.test.js b/packages/sasl/lib/SASLError.test.js new file mode 100644 index 00000000..78b7b325 --- /dev/null +++ b/packages/sasl/lib/SASLError.test.js @@ -0,0 +1,71 @@ +import XMPPError from "@xmpp/error"; +import SASLError from "./SASLError.js"; + +// https://xmpp.org/rfcs/rfc6120.html#rfc.section.6.4.5 +// https://xmpp.org/rfcs/rfc6120.html#rfc.section.A.4 + +test("SASL", () => { + const nonza = ( + + + + ); + + const error = SASLError.fromElement(nonza); + + expect(error instanceof Error).toBe(true); + expect(error instanceof XMPPError).toBe(true); + expect(error instanceof SASLError).toBe(true); + expect(error.name).toBe("SASLError"); + expect(error.condition).toBe("not-authorized"); + expect(error.text).toBe(""); +}); + +test("SASL with text", () => { + const nonza = ( + + + foo + + ); + expect(SASLError.fromElement(nonza).text).toBe("foo"); +}); + +// https://xmpp.org/extensions/xep-0388.html#failure +// https://github.com/xsf/xeps/pull/1411 +// https://xmpp.org/extensions/xep-0388.html#sect-idm46365286031040 + +test("SASL2", () => { + const nonza = ( + + + + ); + + const error = SASLError.fromElement(nonza); + + expect(error instanceof Error).toBe(true); + expect(error instanceof XMPPError).toBe(true); + expect(error instanceof SASLError).toBe(true); + expect(error.name).toBe("SASLError"); + expect(error.condition).toBe("aborted"); +}); + +test("SASL2 with text and application", () => { + const application = ( + + ); + + const nonza = ( + + + This is a terrible example. + {application} + + ); + + const error = SASLError.fromElement(nonza); + + expect(error.text).toBe("This is a terrible example."); + expect(error.application).toBe(application); +}); diff --git a/packages/sasl2/lib/SASLError.js b/packages/sasl2/lib/SASLError.js deleted file mode 100644 index acb73194..00000000 --- a/packages/sasl2/lib/SASLError.js +++ /dev/null @@ -1,12 +0,0 @@ -import XMPPError from "@xmpp/error"; - -// https://xmpp.org/rfcs/rfc6120.html#sasl-errors - -class SASLError extends XMPPError { - constructor(...args) { - super(...args); - this.name = "SASLError"; - } -} - -export default SASLError;