@matdata/yasqe 5.5.0 → 5.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,342 @@
1
+ import { describe, it } from "mocha";
2
+ import { expect } from "chai";
3
+ describe("Authentication", () => {
4
+ describe("Basic Authentication", () => {
5
+ describe("Base64 Encoding", () => {
6
+ it("should encode credentials correctly", () => {
7
+ const username = "testuser";
8
+ const password = "testpass";
9
+ const credentials = `${username}:${password}`;
10
+ const encoded = btoa(credentials);
11
+ const expected = "dGVzdHVzZXI6dGVzdHBhc3M=";
12
+ expect(encoded).to.equal(expected);
13
+ });
14
+ it("should handle special characters", () => {
15
+ const username = "user@example.com";
16
+ const password = "p@ss:word!";
17
+ const credentials = `${username}:${password}`;
18
+ const encoded = btoa(credentials);
19
+ const decoded = atob(encoded);
20
+ expect(decoded).to.equal(credentials);
21
+ });
22
+ });
23
+ describe("Authorization Header Format", () => {
24
+ it("should create proper Basic auth header", () => {
25
+ const username = "admin";
26
+ const password = "secret";
27
+ const credentials = `${username}:${password}`;
28
+ const encoded = btoa(credentials);
29
+ const header = `Basic ${encoded}`;
30
+ expect(header).to.equal("Basic YWRtaW46c2VjcmV0");
31
+ expect(header).to.match(/^Basic [A-Za-z0-9+/=]+$/);
32
+ });
33
+ });
34
+ describe("Empty Credentials", () => {
35
+ it("should handle empty username", () => {
36
+ const username = "";
37
+ const password = "password";
38
+ const credentials = `${username}:${password}`;
39
+ const encoded = btoa(credentials);
40
+ expect(encoded).to.be.a("string");
41
+ expect(encoded.length).to.be.greaterThan(0);
42
+ });
43
+ it("should handle empty password", () => {
44
+ const username = "user";
45
+ const password = "";
46
+ const credentials = `${username}:${password}`;
47
+ const encoded = btoa(credentials);
48
+ expect(encoded).to.be.a("string");
49
+ expect(encoded.length).to.be.greaterThan(0);
50
+ });
51
+ });
52
+ });
53
+ describe("Bearer Token Authentication", () => {
54
+ describe("Authorization Header Format", () => {
55
+ it("should create proper Bearer auth header", () => {
56
+ const token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9";
57
+ const header = `Bearer ${token}`;
58
+ expect(header).to.equal(`Bearer ${token}`);
59
+ expect(header).to.match(/^Bearer .+$/);
60
+ });
61
+ it("should handle various token formats", () => {
62
+ const tokens = [
63
+ "simple-token-123",
64
+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0",
65
+ "ghp_1234567890abcdefghijklmnopqrstuv",
66
+ "Bearer_prefix_should_not_be_duplicated",
67
+ ];
68
+ tokens.forEach((token) => {
69
+ const header = `Bearer ${token}`;
70
+ expect(header).to.match(/^Bearer .+$/);
71
+ expect(header).to.equal(`Bearer ${token}`);
72
+ });
73
+ });
74
+ });
75
+ describe("Token Validation", () => {
76
+ it("should accept non-empty tokens", () => {
77
+ const validTokens = [
78
+ "abc123",
79
+ "very-long-token-with-many-characters-1234567890",
80
+ "token.with.dots",
81
+ "token_with_underscores",
82
+ ];
83
+ validTokens.forEach((token) => {
84
+ expect(token).to.be.a("string");
85
+ expect(token.length).to.be.greaterThan(0);
86
+ });
87
+ });
88
+ });
89
+ });
90
+ describe("API Key Authentication", () => {
91
+ describe("Custom Header Format", () => {
92
+ it("should create proper X-API-Key header", () => {
93
+ const headerName = "X-API-Key";
94
+ const apiKey = "abcdef123456";
95
+ expect(headerName).to.be.a("string");
96
+ expect(apiKey).to.be.a("string");
97
+ expect(headerName.length).to.be.greaterThan(0);
98
+ expect(apiKey.length).to.be.greaterThan(0);
99
+ });
100
+ it("should support various header names", () => {
101
+ const headers = [
102
+ { name: "X-API-Key", value: "key123" },
103
+ { name: "X-Auth-Token", value: "token456" },
104
+ { name: "API-Key", value: "apikey789" },
105
+ { name: "Authorization", value: "ApiKey xyz" },
106
+ { name: "X-Custom-Auth", value: "custom-value" },
107
+ ];
108
+ headers.forEach((header) => {
109
+ expect(header.name).to.be.a("string");
110
+ expect(header.value).to.be.a("string");
111
+ expect(header.name.length).to.be.greaterThan(0);
112
+ expect(header.value.length).to.be.greaterThan(0);
113
+ });
114
+ });
115
+ });
116
+ describe("API Key Validation", () => {
117
+ it("should accept alphanumeric keys", () => {
118
+ const validKeys = ["abc123", "API-KEY-12345", "key_with_underscores", "key.with.dots", "UPPERCASE_KEY"];
119
+ validKeys.forEach((key) => {
120
+ expect(key).to.be.a("string");
121
+ expect(key.length).to.be.greaterThan(0);
122
+ });
123
+ });
124
+ });
125
+ });
126
+ describe("Authentication Priority", () => {
127
+ it("should prioritize Bearer token over Basic auth", () => {
128
+ const basicAuthHeader = "Basic dGVzdDp0ZXN0";
129
+ const bearerAuthHeader = "Bearer token123";
130
+ expect(bearerAuthHeader).to.not.equal(basicAuthHeader);
131
+ expect(bearerAuthHeader).to.match(/^Bearer .+$/);
132
+ });
133
+ it("should allow API Key to coexist with Authorization header", () => {
134
+ const authHeader = "Authorization";
135
+ const apiKeyHeader = "X-API-Key";
136
+ expect(authHeader).to.not.equal(apiKeyHeader);
137
+ });
138
+ });
139
+ describe("Authentication Implementation Tests", () => {
140
+ describe("Bearer Token Authentication", () => {
141
+ it("should create correct header format with token", () => {
142
+ const token = "test-token-123";
143
+ const header = `Bearer ${token}`;
144
+ expect(header).to.equal("Bearer test-token-123");
145
+ expect(header).to.match(/^Bearer .+$/);
146
+ });
147
+ it("should handle whitespace trimming in token", () => {
148
+ const token = " test-token-456 ";
149
+ const trimmedToken = token.trim();
150
+ const header = `Bearer ${trimmedToken}`;
151
+ expect(header).to.equal("Bearer test-token-456");
152
+ expect(header).to.not.include(" ");
153
+ expect(trimmedToken).to.equal("test-token-456");
154
+ });
155
+ it("should validate empty token", () => {
156
+ const token = "";
157
+ const trimmedToken = token.trim();
158
+ const isValid = trimmedToken.length > 0;
159
+ expect(isValid).to.be.false;
160
+ });
161
+ it("should validate whitespace-only token", () => {
162
+ const token = " ";
163
+ const trimmedToken = token.trim();
164
+ const isValid = trimmedToken.length > 0;
165
+ expect(isValid).to.be.false;
166
+ });
167
+ it("should validate non-empty token", () => {
168
+ const token = "valid-token";
169
+ const trimmedToken = token.trim();
170
+ const isValid = trimmedToken.length > 0;
171
+ expect(isValid).to.be.true;
172
+ });
173
+ });
174
+ describe("API Key Authentication", () => {
175
+ it("should create correct custom header with API key", () => {
176
+ const headerName = "X-API-Key";
177
+ const apiKey = "my-api-key-123";
178
+ const headers = {};
179
+ headers[headerName] = apiKey;
180
+ expect(headers["X-API-Key"]).to.equal("my-api-key-123");
181
+ });
182
+ it("should handle whitespace trimming in header name and API key", () => {
183
+ const headerName = " X-Custom-Key ";
184
+ const apiKey = " key-value ";
185
+ const trimmedHeaderName = headerName.trim();
186
+ const trimmedApiKey = apiKey.trim();
187
+ const headers = {};
188
+ headers[trimmedHeaderName] = trimmedApiKey;
189
+ expect(headers["X-Custom-Key"]).to.equal("key-value");
190
+ expect(trimmedHeaderName).to.equal("X-Custom-Key");
191
+ expect(trimmedApiKey).to.equal("key-value");
192
+ });
193
+ it("should validate empty API key", () => {
194
+ const apiKey = "";
195
+ const trimmedApiKey = apiKey.trim();
196
+ const isValid = trimmedApiKey.length > 0;
197
+ expect(isValid).to.be.false;
198
+ });
199
+ it("should validate empty header name", () => {
200
+ const headerName = "";
201
+ const trimmedHeaderName = headerName.trim();
202
+ const isValid = trimmedHeaderName.length > 0;
203
+ expect(isValid).to.be.false;
204
+ });
205
+ it("should validate whitespace-only header name and key", () => {
206
+ const headerName = " ";
207
+ const apiKey = " ";
208
+ const isHeaderNameValid = headerName.trim().length > 0;
209
+ const isApiKeyValid = apiKey.trim().length > 0;
210
+ expect(isHeaderNameValid).to.be.false;
211
+ expect(isApiKeyValid).to.be.false;
212
+ });
213
+ it("should support various header names", () => {
214
+ const headerNames = ["X-API-Key", "X-Auth-Token", "API-Key", "X-Custom-Auth"];
215
+ headerNames.forEach((headerName) => {
216
+ const headers = {};
217
+ headers[headerName] = "test-key";
218
+ expect(headers[headerName]).to.equal("test-key");
219
+ });
220
+ });
221
+ });
222
+ describe("Basic Authentication", () => {
223
+ it("should create correct Basic auth header format", () => {
224
+ const username = "testuser";
225
+ const password = "testpass";
226
+ const credentials = `${username}:${password}`;
227
+ const encoded = btoa(credentials);
228
+ const header = `Basic ${encoded}`;
229
+ expect(header).to.match(/^Basic [A-Za-z0-9+/=]+$/);
230
+ expect(header).to.equal("Basic dGVzdHVzZXI6dGVzdHBhc3M=");
231
+ });
232
+ it("should validate credentials are provided", () => {
233
+ const username = "user";
234
+ const password = "pass";
235
+ const hasCredentials = !!(username && password);
236
+ expect(hasCredentials).to.be.true;
237
+ });
238
+ it("should detect missing credentials", () => {
239
+ const username = "";
240
+ const password = "pass";
241
+ const hasCredentials = !!(username && password);
242
+ expect(hasCredentials).to.be.false;
243
+ });
244
+ });
245
+ describe("Authentication Priority and Collision Detection", () => {
246
+ it("should verify Bearer takes priority over Basic by checking Authorization header usage", () => {
247
+ const bearerToken = "bearer-token";
248
+ const bearerHeader = `Bearer ${bearerToken}`;
249
+ const basicHeader = "Basic " + btoa("user:pass");
250
+ expect(bearerHeader).to.not.equal(basicHeader);
251
+ expect(bearerHeader).to.include("Bearer");
252
+ expect(basicHeader).to.include("Basic");
253
+ });
254
+ it("should verify API Key can coexist with Bearer token using different headers", () => {
255
+ const authorizationHeader = "Authorization";
256
+ const apiKeyHeader = "X-API-Key";
257
+ expect(authorizationHeader).to.not.equal(apiKeyHeader);
258
+ });
259
+ it("should verify API Key can coexist with Basic auth using different headers", () => {
260
+ const authorizationHeader = "Authorization";
261
+ const apiKeyHeader = "X-API-Key";
262
+ expect(authorizationHeader).to.not.equal(apiKeyHeader);
263
+ });
264
+ it("should validate header collision detection logic", () => {
265
+ const headers = { Authorization: "existing-value" };
266
+ const headerExists = headers["Authorization"] !== undefined;
267
+ expect(headerExists).to.be.true;
268
+ if (headerExists) {
269
+ expect(headers["Authorization"]).to.equal("existing-value");
270
+ }
271
+ });
272
+ it("should validate custom header collision detection", () => {
273
+ const headers = { "X-API-Key": "existing-key" };
274
+ const headerExists = headers["X-API-Key"] !== undefined;
275
+ expect(headerExists).to.be.true;
276
+ if (headerExists) {
277
+ expect(headers["X-API-Key"]).to.equal("existing-key");
278
+ }
279
+ });
280
+ });
281
+ describe("Error Handling and Edge Cases", () => {
282
+ it("should validate undefined auth config handling", () => {
283
+ const bearerAuth = undefined;
284
+ const apiKeyAuth = undefined;
285
+ expect(bearerAuth).to.be.undefined;
286
+ expect(apiKeyAuth).to.be.undefined;
287
+ });
288
+ it("should validate null token handling", () => {
289
+ const token = null;
290
+ const isValid = !!(token && token.trim && token.trim().length > 0);
291
+ expect(isValid).to.be.false;
292
+ });
293
+ it("should validate function-based config pattern", () => {
294
+ const getBearerConfig = () => ({ token: "dynamic-token" });
295
+ const getApiKeyConfig = () => ({ headerName: "X-Key", apiKey: "dynamic-key" });
296
+ const bearerConfig = getBearerConfig();
297
+ const apiKeyConfig = getApiKeyConfig();
298
+ expect(bearerConfig.token).to.equal("dynamic-token");
299
+ expect(apiKeyConfig.headerName).to.equal("X-Key");
300
+ expect(apiKeyConfig.apiKey).to.equal("dynamic-key");
301
+ });
302
+ it("should validate error handling in function-based config", () => {
303
+ const getAuthConfigWithError = () => {
304
+ throw new Error("Config error");
305
+ };
306
+ try {
307
+ getAuthConfigWithError();
308
+ expect.fail("Should have thrown error");
309
+ }
310
+ catch (error) {
311
+ expect(error).to.be.instanceOf(Error);
312
+ }
313
+ });
314
+ });
315
+ describe("Trimming Behavior Verification", () => {
316
+ it("should verify trimmed values are used in headers not originals", () => {
317
+ const originalToken = " token-with-spaces ";
318
+ const trimmedToken = originalToken.trim();
319
+ const header = `Bearer ${trimmedToken}`;
320
+ expect(header).to.equal("Bearer token-with-spaces");
321
+ expect(header).to.not.include(" ");
322
+ });
323
+ it("should verify trimmed header name is used not original", () => {
324
+ const originalHeaderName = " X-API-Key ";
325
+ const trimmedHeaderName = originalHeaderName.trim();
326
+ const headers = {};
327
+ headers[trimmedHeaderName] = "value";
328
+ expect(headers["X-API-Key"]).to.equal("value");
329
+ expect(headers[" X-API-Key "]).to.be.undefined;
330
+ });
331
+ it("should verify trimmed API key is used not original", () => {
332
+ const originalKey = " key-value ";
333
+ const trimmedKey = originalKey.trim();
334
+ const headers = {};
335
+ headers["X-API-Key"] = trimmedKey;
336
+ expect(headers["X-API-Key"]).to.equal("key-value");
337
+ expect(headers["X-API-Key"]).to.not.include(" ");
338
+ });
339
+ });
340
+ });
341
+ });
342
+ //# sourceMappingURL=auth-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-test.js","sourceRoot":"","sources":["../../../../../../packages/yasqe/src/__tests__/auth-test.ts"],"names":[],"mappings":"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"}
@@ -150,6 +150,8 @@ SELECT * WHERE {
150
150
  withCredentials: false,
151
151
  adjustQueryBeforeRequest: false,
152
152
  basicAuth: undefined,
153
+ bearerAuth: undefined,
154
+ apiKeyAuth: undefined,
153
155
  };
154
156
  return Object.assign(Object.assign({}, config), { requestConfig });
155
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../../../packages/yasqe/src/defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../../../packages/yasqe/src/defaults.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,7 @@ export declare class Yasqe extends CodeMirror {
107
107
  hideNotification(key: string): void;
108
108
  setSnippetsBarVisible(visible: boolean): void;
109
109
  getSnippetsBarVisible(): boolean;
110
+ refreshSnippetsBar(): void;
110
111
  enableCompleter(name: string): Promise<void>;
111
112
  disableCompleter(name: string): void;
112
113
  autocomplete(fromAutoShow?: boolean): void;
@@ -262,6 +263,14 @@ export interface BasicAuthConfig {
262
263
  username: string;
263
264
  password: string;
264
265
  }
266
+ export interface BearerAuthConfig {
267
+ token: string;
268
+ }
269
+ export interface ApiKeyAuthConfig {
270
+ headerName: string;
271
+ apiKey: string;
272
+ }
273
+ export type AuthConfig = BasicAuthConfig | BearerAuthConfig | ApiKeyAuthConfig;
265
274
  export interface RequestConfig<Y> {
266
275
  queryArgument: string | ((yasqe: Y) => string) | undefined;
267
276
  endpoint: string | ((yasqe: Y) => string);
@@ -286,6 +295,8 @@ export interface RequestConfig<Y> {
286
295
  withCredentials: boolean | ((yasqe: Y) => boolean);
287
296
  adjustQueryBeforeRequest: ((yasqe: Y) => string) | false;
288
297
  basicAuth: BasicAuthConfig | ((yasqe: Y) => BasicAuthConfig | undefined) | undefined;
298
+ bearerAuth: BearerAuthConfig | ((yasqe: Y) => BearerAuthConfig | undefined) | undefined;
299
+ apiKeyAuth: ApiKeyAuthConfig | ((yasqe: Y) => ApiKeyAuthConfig | undefined) | undefined;
289
300
  }
290
301
  export type PlainRequestConfig = {
291
302
  [K in keyof RequestConfig<any>]: Exclude<RequestConfig<any>[K], Function>;
@@ -333,6 +344,5 @@ export interface PersistentConfig {
333
344
  editorHeight: string;
334
345
  formatterType?: "sparql-formatter" | "legacy";
335
346
  autoformatOnQuery?: boolean;
336
- showSnippetsBar?: boolean;
337
347
  }
338
348
  export default Yasqe;
@@ -342,10 +342,8 @@ export class Yasqe extends CodeMirror {
342
342
  this.focus();
343
343
  }
344
344
  drawSnippetsBar() {
345
- var _a, _b;
346
- const shouldShow = this.config.showSnippetsBar &&
347
- (((_a = this.persistentConfig) === null || _a === void 0 ? void 0 : _a.showSnippetsBar) === undefined || this.persistentConfig.showSnippetsBar) &&
348
- this.config.snippets.length > 0;
345
+ var _a;
346
+ const shouldShow = this.config.showSnippetsBar && this.config.snippets.length > 0;
349
347
  if (!shouldShow) {
350
348
  if (this.snippetsBar) {
351
349
  this.snippetsBar.remove();
@@ -357,7 +355,7 @@ export class Yasqe extends CodeMirror {
357
355
  this.snippetsBar = document.createElement("div");
358
356
  addClass(this.snippetsBar, "yasqe_snippetsBar");
359
357
  const cmWrapper = this.getWrapperElement();
360
- (_b = cmWrapper.parentElement) === null || _b === void 0 ? void 0 : _b.insertBefore(this.snippetsBar, cmWrapper);
358
+ (_a = cmWrapper.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(this.snippetsBar, cmWrapper);
361
359
  }
362
360
  this.snippetsBar.innerHTML = "";
363
361
  const snippets = this.config.snippets;
@@ -882,24 +880,14 @@ export class Yasqe extends CodeMirror {
882
880
  }
883
881
  }
884
882
  setSnippetsBarVisible(visible) {
885
- if (!this.persistentConfig) {
886
- this.persistentConfig = {
887
- query: this.getValue(),
888
- editorHeight: this.config.editorHeight,
889
- showSnippetsBar: visible,
890
- };
891
- }
892
- else {
893
- this.persistentConfig.showSnippetsBar = visible;
894
- }
895
- this.saveQuery();
883
+ this.config.showSnippetsBar = visible;
896
884
  this.drawSnippetsBar();
897
885
  }
898
886
  getSnippetsBarVisible() {
899
- var _a;
900
- return (this.config.showSnippetsBar &&
901
- (((_a = this.persistentConfig) === null || _a === void 0 ? void 0 : _a.showSnippetsBar) === undefined || this.persistentConfig.showSnippetsBar) &&
902
- this.config.snippets.length > 0);
887
+ return this.config.showSnippetsBar && this.config.snippets.length > 0;
888
+ }
889
+ refreshSnippetsBar() {
890
+ this.drawSnippetsBar();
903
891
  }
904
892
  enableCompleter(name) {
905
893
  if (!Yasqe.Autocompleters[name])