@querc/squidex-client
Version:
NodeJS client for the [Squidex](https://squidex.io/) CMS
84 lines (74 loc) • 9.2 kB
JavaScript
;
require("jest");
var _configurationManager = require("./configuration-manager");
describe('Configuration manager should...', () => {
test('exist', () => {
expect(_configurationManager.ConfigurationManager).toBeDefined();
});
test('use default URL', () => {
const config = _configurationManager.ConfigurationManager.buildConfiguration({
clientId: 'my-app:default',
clientSecret: 'SEKRIT'
});
expect(config.url).toBeDefined();
expect(config.url).toBe('https://cloud.squidex.io');
});
test('use supplied URL', () => {
const config = _configurationManager.ConfigurationManager.buildConfiguration({
url: 'https://my-app',
clientId: 'my-app:default',
clientSecret: 'SEKRIT'
});
expect(config.url).toBeDefined();
expect(config.url).toBe('https://my-app');
});
test('infer appName if missing', () => {
const config = _configurationManager.ConfigurationManager.buildConfiguration({
clientId: 'my-app:default',
clientSecret: 'SEKRIT'
});
expect(config.appName).toBe('my-app');
});
test('throw error for missing config', () => {
expect.assertions(1);
try {
// Need to cast to `any` so that TS lets us do this
_configurationManager.ConfigurationManager.buildConfiguration();
} catch (e) {
expect(e.message).toMatch(/Configuration/);
}
});
test('throw error for missing clientId', () => {
expect.assertions(1);
try {
// Need to cast to `any` so that TS lets us do this
_configurationManager.ConfigurationManager.buildConfiguration({});
} catch (e) {
expect(e.message).toMatch(/clientId/);
}
});
test('throw error for malformed clientId', () => {
expect.assertions(1);
try {
// Need to cast to `any` so that TS lets us do this
_configurationManager.ConfigurationManager.buildConfiguration({
clientId: 'my-appdefault',
clientSecret: 'SEKRIT'
});
} catch (e) {
expect(e.message).toMatch(/clientId/);
}
});
test('throw error for missing clientSecret', () => {
expect.assertions(1);
try {
// Need to cast to `any` so that TS lets us do this
_configurationManager.ConfigurationManager.buildConfiguration({
clientId: 'my-app:default'
});
} catch (e) {
expect(e.message).toMatch(/clientSecret/);
}
});
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWd1cmF0aW9uL2NvbmZpZ3VyYXRpb24tbWFuYWdlci50ZXN0LnRzIl0sIm5hbWVzIjpbImRlc2NyaWJlIiwidGVzdCIsImV4cGVjdCIsIkNvbmZpZ3VyYXRpb25NYW5hZ2VyIiwidG9CZURlZmluZWQiLCJjb25maWciLCJidWlsZENvbmZpZ3VyYXRpb24iLCJjbGllbnRJZCIsImNsaWVudFNlY3JldCIsInVybCIsInRvQmUiLCJhcHBOYW1lIiwiYXNzZXJ0aW9ucyIsImUiLCJtZXNzYWdlIiwidG9NYXRjaCJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7QUFDQTs7QUFFQUEsUUFBUSxDQUFDLGlDQUFELEVBQW9DLE1BQU07QUFDOUNDLEVBQUFBLElBQUksQ0FBQyxPQUFELEVBQVUsTUFBTTtBQUNoQkMsSUFBQUEsTUFBTSxDQUFDQywwQ0FBRCxDQUFOLENBQTZCQyxXQUE3QjtBQUNILEdBRkcsQ0FBSjtBQUlBSCxFQUFBQSxJQUFJLENBQUMsaUJBQUQsRUFBb0IsTUFBTTtBQUMxQixVQUFNSSxNQUFNLEdBQUdGLDJDQUFxQkcsa0JBQXJCLENBQXdDO0FBQ25EQyxNQUFBQSxRQUFRLEVBQUUsZ0JBRHlDO0FBRW5EQyxNQUFBQSxZQUFZLEVBQUU7QUFGcUMsS0FBeEMsQ0FBZjs7QUFLQU4sSUFBQUEsTUFBTSxDQUFDRyxNQUFNLENBQUNJLEdBQVIsQ0FBTixDQUFtQkwsV0FBbkI7QUFDQUYsSUFBQUEsTUFBTSxDQUFDRyxNQUFNLENBQUNJLEdBQVIsQ0FBTixDQUFtQkMsSUFBbkIsQ0FBd0IsMEJBQXhCO0FBQ0gsR0FSRyxDQUFKO0FBVUFULEVBQUFBLElBQUksQ0FBQyxrQkFBRCxFQUFxQixNQUFNO0FBQzNCLFVBQU1JLE1BQU0sR0FBR0YsMkNBQXFCRyxrQkFBckIsQ0FBd0M7QUFDbkRHLE1BQUFBLEdBQUcsRUFBRSxnQkFEOEM7QUFFbkRGLE1BQUFBLFFBQVEsRUFBRSxnQkFGeUM7QUFHbkRDLE1BQUFBLFlBQVksRUFBRTtBQUhxQyxLQUF4QyxDQUFmOztBQU1BTixJQUFBQSxNQUFNLENBQUNHLE1BQU0sQ0FBQ0ksR0FBUixDQUFOLENBQW1CTCxXQUFuQjtBQUNBRixJQUFBQSxNQUFNLENBQUNHLE1BQU0sQ0FBQ0ksR0FBUixDQUFOLENBQW1CQyxJQUFuQixDQUF3QixnQkFBeEI7QUFDSCxHQVRHLENBQUo7QUFXQVQsRUFBQUEsSUFBSSxDQUFDLDBCQUFELEVBQTZCLE1BQU07QUFDbkMsVUFBTUksTUFBTSxHQUFHRiwyQ0FBcUJHLGtCQUFyQixDQUF3QztBQUNuREMsTUFBQUEsUUFBUSxFQUFFLGdCQUR5QztBQUVuREMsTUFBQUEsWUFBWSxFQUFFO0FBRnFDLEtBQXhDLENBQWY7O0FBS0FOLElBQUFBLE1BQU0sQ0FBQ0csTUFBTSxDQUFDTSxPQUFSLENBQU4sQ0FBdUJELElBQXZCLENBQTRCLFFBQTVCO0FBQ0gsR0FQRyxDQUFKO0FBU0FULEVBQUFBLElBQUksQ0FBQyxnQ0FBRCxFQUFtQyxNQUFNO0FBQ3pDQyxJQUFBQSxNQUFNLENBQUNVLFVBQVAsQ0FBa0IsQ0FBbEI7O0FBQ0EsUUFBSTtBQUNBO0FBQ0NULGdEQUFELENBQThCRyxrQkFBOUI7QUFDSCxLQUhELENBR0UsT0FBT08sQ0FBUCxFQUFVO0FBQ1JYLE1BQUFBLE1BQU0sQ0FBQ1csQ0FBQyxDQUFDQyxPQUFILENBQU4sQ0FBa0JDLE9BQWxCLENBQTBCLGVBQTFCO0FBQ0g7QUFDSixHQVJHLENBQUo7QUFVQWQsRUFBQUEsSUFBSSxDQUFDLGtDQUFELEVBQXFDLE1BQU07QUFDM0NDLElBQUFBLE1BQU0sQ0FBQ1UsVUFBUCxDQUFrQixDQUFsQjs7QUFDQSxRQUFJO0FBQ0E7QUFDQ1QsZ0RBQUQsQ0FBOEJHLGtCQUE5QixDQUFpRCxFQUFqRDtBQUNILEtBSEQsQ0FHRSxPQUFPTyxDQUFQLEVBQVU7QUFDUlgsTUFBQUEsTUFBTSxDQUFDVyxDQUFDLENBQUNDLE9BQUgsQ0FBTixDQUFrQkMsT0FBbEIsQ0FBMEIsVUFBMUI7QUFDSDtBQUNKLEdBUkcsQ0FBSjtBQVVBZCxFQUFBQSxJQUFJLENBQUMsb0NBQUQsRUFBdUMsTUFBTTtBQUM3Q0MsSUFBQUEsTUFBTSxDQUFDVSxVQUFQLENBQWtCLENBQWxCOztBQUNBLFFBQUk7QUFDQTtBQUNDVCxnREFBRCxDQUE4Qkcsa0JBQTlCLENBQWlEO0FBQzdDQyxRQUFBQSxRQUFRLEVBQUUsZUFEbUM7QUFFN0NDLFFBQUFBLFlBQVksRUFBRTtBQUYrQixPQUFqRDtBQUlILEtBTkQsQ0FNRSxPQUFPSyxDQUFQLEVBQVU7QUFDUlgsTUFBQUEsTUFBTSxDQUFDVyxDQUFDLENBQUNDLE9BQUgsQ0FBTixDQUFrQkMsT0FBbEIsQ0FBMEIsVUFBMUI7QUFDSDtBQUNKLEdBWEcsQ0FBSjtBQWFBZCxFQUFBQSxJQUFJLENBQUMsc0NBQUQsRUFBeUMsTUFBTTtBQUMvQ0MsSUFBQUEsTUFBTSxDQUFDVSxVQUFQLENBQWtCLENBQWxCOztBQUNBLFFBQUk7QUFDQTtBQUNDVCxnREFBRCxDQUE4Qkcsa0JBQTlCLENBQWlEO0FBQzdDQyxRQUFBQSxRQUFRLEVBQUU7QUFEbUMsT0FBakQ7QUFHSCxLQUxELENBS0UsT0FBT00sQ0FBUCxFQUFVO0FBQ1JYLE1BQUFBLE1BQU0sQ0FBQ1csQ0FBQyxDQUFDQyxPQUFILENBQU4sQ0FBa0JDLE9BQWxCLENBQTBCLGNBQTFCO0FBQ0g7QUFDSixHQVZHLENBQUo7QUFXSCxDQS9FTyxDQUFSIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdqZXN0JztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25NYW5hZ2VyIH0gZnJvbSAnLi9jb25maWd1cmF0aW9uLW1hbmFnZXInO1xuXG5kZXNjcmliZSgnQ29uZmlndXJhdGlvbiBtYW5hZ2VyIHNob3VsZC4uLicsICgpID0+IHtcbiAgICB0ZXN0KCdleGlzdCcsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KENvbmZpZ3VyYXRpb25NYW5hZ2VyKS50b0JlRGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgndXNlIGRlZmF1bHQgVVJMJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBjb25maWcgPSBDb25maWd1cmF0aW9uTWFuYWdlci5idWlsZENvbmZpZ3VyYXRpb24oe1xuICAgICAgICAgICAgY2xpZW50SWQ6ICdteS1hcHA6ZGVmYXVsdCcsXG4gICAgICAgICAgICBjbGllbnRTZWNyZXQ6ICdTRUtSSVQnLFxuICAgICAgICB9KTtcblxuICAgICAgICBleHBlY3QoY29uZmlnLnVybCkudG9CZURlZmluZWQoKTtcbiAgICAgICAgZXhwZWN0KGNvbmZpZy51cmwpLnRvQmUoJ2h0dHBzOi8vY2xvdWQuc3F1aWRleC5pbycpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgndXNlIHN1cHBsaWVkIFVSTCcsICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlnID0gQ29uZmlndXJhdGlvbk1hbmFnZXIuYnVpbGRDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgIHVybDogJ2h0dHBzOi8vbXktYXBwJyxcbiAgICAgICAgICAgIGNsaWVudElkOiAnbXktYXBwOmRlZmF1bHQnLFxuICAgICAgICAgICAgY2xpZW50U2VjcmV0OiAnU0VLUklUJyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXhwZWN0KGNvbmZpZy51cmwpLnRvQmVEZWZpbmVkKCk7XG4gICAgICAgIGV4cGVjdChjb25maWcudXJsKS50b0JlKCdodHRwczovL215LWFwcCcpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgnaW5mZXIgYXBwTmFtZSBpZiBtaXNzaW5nJywgKCkgPT4ge1xuICAgICAgICBjb25zdCBjb25maWcgPSBDb25maWd1cmF0aW9uTWFuYWdlci5idWlsZENvbmZpZ3VyYXRpb24oe1xuICAgICAgICAgICAgY2xpZW50SWQ6ICdteS1hcHA6ZGVmYXVsdCcsXG4gICAgICAgICAgICBjbGllbnRTZWNyZXQ6ICdTRUtSSVQnLFxuICAgICAgICB9KTtcblxuICAgICAgICBleHBlY3QoY29uZmlnLmFwcE5hbWUpLnRvQmUoJ215LWFwcCcpO1xuICAgIH0pO1xuXG4gICAgdGVzdCgndGhyb3cgZXJyb3IgZm9yIG1pc3NpbmcgY29uZmlnJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QuYXNzZXJ0aW9ucygxKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIE5lZWQgdG8gY2FzdCB0byBgYW55YCBzbyB0aGF0IFRTIGxldHMgdXMgZG8gdGhpc1xuICAgICAgICAgICAgKENvbmZpZ3VyYXRpb25NYW5hZ2VyIGFzIGFueSkuYnVpbGRDb25maWd1cmF0aW9uKCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGV4cGVjdChlLm1lc3NhZ2UpLnRvTWF0Y2goL0NvbmZpZ3VyYXRpb24vKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGVzdCgndGhyb3cgZXJyb3IgZm9yIG1pc3NpbmcgY2xpZW50SWQnLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdC5hc3NlcnRpb25zKDEpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gTmVlZCB0byBjYXN0IHRvIGBhbnlgIHNvIHRoYXQgVFMgbGV0cyB1cyBkbyB0aGlzXG4gICAgICAgICAgICAoQ29uZmlndXJhdGlvbk1hbmFnZXIgYXMgYW55KS5idWlsZENvbmZpZ3VyYXRpb24oe30pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBleHBlY3QoZS5tZXNzYWdlKS50b01hdGNoKC9jbGllbnRJZC8pO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICB0ZXN0KCd0aHJvdyBlcnJvciBmb3IgbWFsZm9ybWVkIGNsaWVudElkJywgKCkgPT4ge1xuICAgICAgICBleHBlY3QuYXNzZXJ0aW9ucygxKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIE5lZWQgdG8gY2FzdCB0byBgYW55YCBzbyB0aGF0IFRTIGxldHMgdXMgZG8gdGhpc1xuICAgICAgICAgICAgKENvbmZpZ3VyYXRpb25NYW5hZ2VyIGFzIGFueSkuYnVpbGRDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgICAgICBjbGllbnRJZDogJ215LWFwcGRlZmF1bHQnLFxuICAgICAgICAgICAgICAgIGNsaWVudFNlY3JldDogJ1NFS1JJVCcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgZXhwZWN0KGUubWVzc2FnZSkudG9NYXRjaCgvY2xpZW50SWQvKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGVzdCgndGhyb3cgZXJyb3IgZm9yIG1pc3NpbmcgY2xpZW50U2VjcmV0JywgKCkgPT4ge1xuICAgICAgICBleHBlY3QuYXNzZXJ0aW9ucygxKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIE5lZWQgdG8gY2FzdCB0byBgYW55YCBzbyB0aGF0IFRTIGxldHMgdXMgZG8gdGhpc1xuICAgICAgICAgICAgKENvbmZpZ3VyYXRpb25NYW5hZ2VyIGFzIGFueSkuYnVpbGRDb25maWd1cmF0aW9uKHtcbiAgICAgICAgICAgICAgICBjbGllbnRJZDogJ215LWFwcDpkZWZhdWx0JyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBleHBlY3QoZS5tZXNzYWdlKS50b01hdGNoKC9jbGllbnRTZWNyZXQvKTtcbiAgICAgICAgfVxuICAgIH0pO1xufSk7XG4iXX0=