@seidor-cloud-produtos/orbit-backend-lib 2.0.110 → 2.0.112
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.
- package/dist/clean-arch/application/cache/cache.spec.d.ts +1 -0
- package/dist/clean-arch/application/cache/cache.spec.js +178 -0
- package/dist/clean-arch/application/consistency-event-dispatcher/consistency-event-dispatcher.d.ts +1 -1
- package/dist/clean-arch/application/logger/logger.spec.d.ts +1 -0
- package/dist/clean-arch/application/logger/logger.spec.js +204 -0
- package/dist/clean-arch/domain/entities/entity.spec.d.ts +1 -0
- package/dist/clean-arch/domain/entities/entity.spec.js +130 -0
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.spec.d.ts +1 -0
- package/dist/clean-arch/domain/events/consistency-event/consistency-event.spec.js +91 -0
- package/dist/clean-arch/domain/events/consistency-event/events-enum.d.ts +16 -0
- package/dist/clean-arch/domain/events/consistency-event/events-enum.js +16 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-entity-event.d.ts +11 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/authorization/authorization-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-entity-event.d.ts +14 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/external-provider/external-provider-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-entity-event.d.ts +13 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-entity-event.d.ts +14 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant/tenant-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-entity-event.d.ts +8 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-role/tenant-role-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-entity-event.d.ts +10 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/tenant-user/tenant-user-updated.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-forgot-password.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user/user-forgot-password.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-role-entity-event.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-role-entity-event.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-created.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-created.js +2 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-updated.d.ts +9 -0
- package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/user-tenant-role/user-tenant-roles-updated.js +2 -0
- package/dist/clean-arch/domain/value-objects/password.spec.d.ts +1 -0
- package/dist/clean-arch/domain/value-objects/password.spec.js +90 -0
- package/dist/clean-arch/infra/adapters/http-adapters.spec.d.ts +1 -0
- package/dist/clean-arch/infra/adapters/http-adapters.spec.js +318 -0
- package/dist/clean-arch/infra/authorizations/authorizer.spec.js +43 -0
- package/dist/clean-arch/infra/cache/cache-clients.spec.d.ts +1 -0
- package/dist/clean-arch/infra/cache/cache-clients.spec.js +161 -0
- package/dist/clean-arch/infra/cache/clients/node-cache.js +3 -2
- package/dist/clean-arch/infra/consistency-event-dispatcher/exchanges-enum.d.ts +16 -0
- package/dist/clean-arch/infra/consistency-event-dispatcher/exchanges-enum.js +18 -0
- package/dist/clean-arch/infra/http/controller.spec.js +170 -51
- package/dist/clean-arch/infra/http/helpers.spec.d.ts +1 -0
- package/dist/clean-arch/infra/http/helpers.spec.js +136 -0
- package/dist/clean-arch/infra/http/net.spec.d.ts +1 -0
- package/dist/clean-arch/infra/http/net.spec.js +46 -0
- package/dist/clean-arch/infra/logger/logger-orbit.d.ts +2 -0
- package/dist/clean-arch/infra/logger/logger-orbit.spec.d.ts +1 -0
- package/dist/clean-arch/infra/logger/logger-orbit.spec.js +122 -0
- package/dist/clean-arch/infra/orbit-http-client/orbit-axios-client/orbit-axios-client.spec.d.ts +1 -0
- package/dist/clean-arch/infra/orbit-http-client/orbit-axios-client/orbit-axios-client.spec.js +143 -0
- package/dist/clean-arch/infra/orbit-notification-client/discord-client.spec.d.ts +1 -0
- package/dist/clean-arch/infra/orbit-notification-client/discord-client.spec.js +58 -0
- package/dist/clean-arch/infra/queue/queue-utils.spec.d.ts +1 -0
- package/dist/clean-arch/infra/queue/queue-utils.spec.js +170 -0
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.js +4 -4
- package/dist/clean-arch/infra/queue/rabbitmq/amqp-lib.spec.js +466 -89
- package/dist/clean-arch/infra/queue/rabbitmq/types.d.ts +1 -1
- package/dist/clean-arch/infra/scaledjob/amqp/runner.d.ts +0 -3
- package/dist/clean-arch/infra/scaledjob/amqp/runner.js +5 -6
- package/dist/clean-arch/infra/scaledjob/amqp/runner.spec.js +74 -84
- package/dist/clean-arch/infra/scaledjob/sqs/runner.spec.d.ts +1 -0
- package/dist/clean-arch/infra/scaledjob/sqs/runner.spec.js +150 -0
- package/dist/clean-arch/infra/tracing/start-tracing.d.ts +10 -0
- package/dist/clean-arch/infra/tracing/start-tracing.js +78 -0
- package/dist/clean-arch/infra/validations/zod/validation-zod.spec.js +23 -0
- package/dist/clean-arch/shared/pagination/get-take-and-skip.spec.d.ts +1 -0
- package/dist/clean-arch/shared/pagination/get-take-and-skip.spec.js +16 -0
- package/dist/coverage/block-navigation.d.ts +1 -0
- package/dist/coverage/block-navigation.js +72 -0
- package/dist/coverage/prettify.d.ts +0 -0
- package/dist/coverage/prettify.js +1009 -0
- package/dist/coverage/sorter.d.ts +1 -0
- package/dist/coverage/sorter.js +178 -0
- package/dist/frameworks/express/api-gateway/mapping-model.spec.js +58 -0
- package/dist/frameworks/express/authorizations/authorization-express.spec.js +9 -0
- package/dist/frameworks/express/middleware-express.spec.d.ts +1 -0
- package/dist/frameworks/express/middleware-express.spec.js +51 -0
- package/dist/frameworks/nest/nest.spec.d.ts +1 -0
- package/dist/frameworks/nest/nest.spec.js +122 -0
- package/dist/infra/http/api-gateway/mapping-model.spec.js +42 -0
- package/package.json +5 -1
|
@@ -3,7 +3,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EventsName = void 0;
|
|
4
4
|
var EventsName;
|
|
5
5
|
(function (EventsName) {
|
|
6
|
+
EventsName["ROLE_UPDATED"] = "portal-admin.role-updated";
|
|
7
|
+
EventsName["ROLE_CREATED"] = "portal-admin.role-created";
|
|
6
8
|
EventsName["USER_TEMPORARY_PASSWORD_GENERATED"] = "user-temporary-password-generated";
|
|
9
|
+
EventsName["USER_CREATED"] = "portal-admin.user-created";
|
|
10
|
+
EventsName["USER_ROLES_ASSOCIATED"] = "portal-admin.user-roles-associated";
|
|
11
|
+
EventsName["USER_ROLES_DISSOCIATED"] = "portal-admin.user-roles-dissociated";
|
|
12
|
+
EventsName["USER_UPDATED"] = "portal-admin.user-updated";
|
|
13
|
+
EventsName["USER_TENANT_ROLES_UPDATED"] = "portal-admin.user-tenant-roles-updated";
|
|
14
|
+
EventsName["USER_TENANT_ROLES_CREATED"] = "portal-admin.user-tenant-roles-created";
|
|
15
|
+
EventsName["USER_FORGOT_PASSWORD"] = "portal-admin.user-forgot-password";
|
|
16
|
+
EventsName["TENANT_CREATED"] = "portal-admin.tenant-created";
|
|
17
|
+
EventsName["TENANT_UPDATED"] = "portal-admin.tenant-updated";
|
|
18
|
+
EventsName["TENANT_ROLE_UPDATED"] = "portal-admin.tenant-role-updated";
|
|
19
|
+
EventsName["TENANT_USER_UPDATED"] = "portal-admin.tenant-user-updated";
|
|
20
|
+
EventsName["AUTHORIZATION_CREATED"] = "portal-admin.authorization-created";
|
|
21
|
+
EventsName["AUTHORIZATION_UPDATED"] = "portal-admin.authorization-updated";
|
|
22
|
+
EventsName["EXTERNAL_PROVIDER_CREATED"] = "portal-admin.external-provider-created";
|
|
7
23
|
EventsName["BRANCH_UPDATED"] = "partner-service.branch-updated";
|
|
8
24
|
EventsName["PARTNER_UPDATED"] = "partner-service.partner-updated";
|
|
9
25
|
EventsName["PARTNER_CREATED"] = "partner-service.partner-created";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { AuthorizationEntityPayload } from './authorization-entity-event';
|
|
5
|
+
export interface AuthorizationCreatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.AUTHORIZATION_CREATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: AuthorizationEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { AuthorizationEntityPayload } from './authorization-entity-event';
|
|
5
|
+
export interface AuthorizationUpdatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.AUTHORIZATION_UPDATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: AuthorizationEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { ExternalProviderEntityPayload } from './external-provider-entity-event';
|
|
5
|
+
export interface ExternalProviderCreatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.EXTERNAL_PROVIDER_CREATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: ExternalProviderEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ExternalProviderEntityPayload {
|
|
2
|
+
id: string;
|
|
3
|
+
provider: {
|
|
4
|
+
value: string;
|
|
5
|
+
};
|
|
6
|
+
config: Record<string, unknown>;
|
|
7
|
+
tenantId: string;
|
|
8
|
+
name: string;
|
|
9
|
+
domain: string;
|
|
10
|
+
usersDefaultRoleId: string;
|
|
11
|
+
mainUserEmail: string;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
updatedAt: string;
|
|
14
|
+
}
|
package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-created.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { RoleEntityPayload } from './role-entity-event';
|
|
5
|
+
export interface RoleCreatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.ROLE_CREATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: RoleEntityPayload[];
|
|
9
|
+
}
|
package/dist/clean-arch/domain/events/consistency-event/types/portal-admin/role/role-updated.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { RoleEntityPayload } from './role-entity-event';
|
|
5
|
+
export interface RoleUpdatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.ROLE_UPDATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: RoleEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { TenantEntityPayload } from './tenant-entity-event';
|
|
5
|
+
export interface TenantCreatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.TENANT_CREATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: TenantEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { TenantEntityPayload } from './tenant-entity-event';
|
|
5
|
+
export interface TenantUpdatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.TENANT_UPDATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: TenantEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { TenantRoleEntityPayload } from './tenant-role-entity-event';
|
|
5
|
+
export interface TenantRoleUpdatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.TENANT_ROLE_UPDATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: TenantRoleEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { TenantUserEntityPayload } from './tenant-user-entity-event';
|
|
5
|
+
export interface TenantUserUpdatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.TENANT_USER_UPDATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: TenantUserEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { UserEntityPayload } from './user-entity-event';
|
|
5
|
+
export interface UserForgotPasswordMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.USER_FORGOT_PASSWORD;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: UserEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { UserTenantRoleEntityPayload } from './user-tenant-role-entity-event';
|
|
5
|
+
export interface UserTenantRolesCreatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.USER_TENANT_ROLES_CREATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: UserTenantRoleEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AuthorizerHeaders } from '../../../../../../infra/http/handle-authorizer-headers';
|
|
2
|
+
import { ConsistencyEventMessage } from '../../../consistency-event';
|
|
3
|
+
import { EventsName } from '../../../events-enum';
|
|
4
|
+
import { UserTenantRoleEntityPayload } from './user-tenant-role-entity-event';
|
|
5
|
+
export interface UserTenantRolesUpdatedMessage extends ConsistencyEventMessage {
|
|
6
|
+
eventName: EventsName.USER_TENANT_ROLES_UPDATED;
|
|
7
|
+
origin: AuthorizerHeaders;
|
|
8
|
+
payload: UserTenantRoleEntityPayload[];
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const create_password_factory_1 = tslib_1.__importDefault(require("../factories/create-password-factory"));
|
|
5
|
+
const random_password_temporary_factory_1 = tslib_1.__importDefault(require("../factories/random-password-temporary-factory"));
|
|
6
|
+
const invalid_password_algorithm_error_1 = tslib_1.__importDefault(require("../errors/invalid-password-algorithm-error"));
|
|
7
|
+
const invalid_password_length_error_1 = tslib_1.__importDefault(require("../errors/invalid-password-length-error"));
|
|
8
|
+
const password_1 = tslib_1.__importStar(require("./password"));
|
|
9
|
+
const pbkdf2_password_1 = tslib_1.__importDefault(require("./pbkdf2-password"));
|
|
10
|
+
const sha1_password_1 = tslib_1.__importDefault(require("./sha1-password"));
|
|
11
|
+
class TestPassword extends password_1.default {
|
|
12
|
+
constructor() {
|
|
13
|
+
super({ algorithm: password_1.PasswordAlgorithm.SHA1, isTemporary: true });
|
|
14
|
+
}
|
|
15
|
+
static validate(value) {
|
|
16
|
+
return this.isValid(value);
|
|
17
|
+
}
|
|
18
|
+
isEqual() {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
describe('Password value objects and factories', () => {
|
|
23
|
+
it('should validate the minimum password length in the base class', () => {
|
|
24
|
+
expect(TestPassword.validate('1234567')).toBe(false);
|
|
25
|
+
expect(TestPassword.validate('12345678')).toBe(true);
|
|
26
|
+
});
|
|
27
|
+
it('should create and restore SHA1 passwords', () => {
|
|
28
|
+
const password = sha1_password_1.default.create('12345678');
|
|
29
|
+
const restored = sha1_password_1.default.restore(password.value, null);
|
|
30
|
+
expect(password.algorithm).toBe(password_1.PasswordAlgorithm.SHA1);
|
|
31
|
+
expect(password.isTemporary).toBe(true);
|
|
32
|
+
expect(password.notEncryptedValue).toBe('12345678');
|
|
33
|
+
expect(password.isEqual('12345678')).toBe(true);
|
|
34
|
+
expect(password.isEqual('other')).toBe(false);
|
|
35
|
+
expect(restored.isEqual('12345678')).toBe(true);
|
|
36
|
+
});
|
|
37
|
+
it('should reject invalid SHA1 passwords', () => {
|
|
38
|
+
expect(() => sha1_password_1.default.create('short')).toThrow(invalid_password_length_error_1.default);
|
|
39
|
+
});
|
|
40
|
+
it('should create and restore PBKDF2 passwords', () => {
|
|
41
|
+
const password = pbkdf2_password_1.default.create('12345678');
|
|
42
|
+
const restored = pbkdf2_password_1.default.restore(password.value, password.salt);
|
|
43
|
+
expect(password.algorithm).toBe(password_1.PasswordAlgorithm.PBKDF2);
|
|
44
|
+
expect(password.isTemporary).toBe(false);
|
|
45
|
+
expect(password.notEncryptedValue).toBe('12345678');
|
|
46
|
+
expect(password.salt).toBeTruthy();
|
|
47
|
+
expect(password.value).toHaveLength(128);
|
|
48
|
+
expect(password.isEqual('12345678')).toBe(true);
|
|
49
|
+
expect(password.isEqual('other')).toBe(false);
|
|
50
|
+
expect(restored.isEqual('12345678')).toBe(true);
|
|
51
|
+
});
|
|
52
|
+
it('should reject invalid PBKDF2 passwords', () => {
|
|
53
|
+
expect(() => pbkdf2_password_1.default.create('short')).toThrow(invalid_password_length_error_1.default);
|
|
54
|
+
});
|
|
55
|
+
it('should create valid temporary passwords', () => {
|
|
56
|
+
const generatedPassword = random_password_temporary_factory_1.default.create();
|
|
57
|
+
expect(generatedPassword).toHaveLength(8);
|
|
58
|
+
expect(random_password_temporary_factory_1.default.isValid(generatedPassword)).toBe(true);
|
|
59
|
+
expect(random_password_temporary_factory_1.default.create('fixed-value')).toBe('fixed-value');
|
|
60
|
+
expect(random_password_temporary_factory_1.default.isValid('short')).toBe(false);
|
|
61
|
+
expect(random_password_temporary_factory_1.default.isValid('abcdefgh')).toBe(false);
|
|
62
|
+
expect(random_password_temporary_factory_1.default.isValid('Abcdefgh')).toBe(false);
|
|
63
|
+
expect(random_password_temporary_factory_1.default.isValid('!bcdefgh')).toBe(false);
|
|
64
|
+
});
|
|
65
|
+
it('should create passwords using the factory', () => {
|
|
66
|
+
const randomPassword = create_password_factory_1.default.create();
|
|
67
|
+
const sha1Password = create_password_factory_1.default.create({
|
|
68
|
+
value: 'sha1-value',
|
|
69
|
+
algorithm: password_1.PasswordAlgorithm.SHA1,
|
|
70
|
+
salt: null,
|
|
71
|
+
});
|
|
72
|
+
const pbkdf2Password = create_password_factory_1.default.create({
|
|
73
|
+
value: 'pbkdf2-value',
|
|
74
|
+
algorithm: password_1.PasswordAlgorithm.PBKDF2,
|
|
75
|
+
salt: 'salt',
|
|
76
|
+
});
|
|
77
|
+
expect(randomPassword).toBeInstanceOf(sha1_password_1.default);
|
|
78
|
+
expect(sha1Password).toBeInstanceOf(sha1_password_1.default);
|
|
79
|
+
expect(pbkdf2Password).toBeInstanceOf(pbkdf2_password_1.default);
|
|
80
|
+
expect(sha1Password.value).toBe('sha1-value');
|
|
81
|
+
expect(pbkdf2Password.salt).toBe('salt');
|
|
82
|
+
});
|
|
83
|
+
it('should throw when the factory receives an invalid algorithm', () => {
|
|
84
|
+
expect(() => create_password_factory_1.default.create({
|
|
85
|
+
value: 'value',
|
|
86
|
+
algorithm: 'other',
|
|
87
|
+
salt: null,
|
|
88
|
+
})).toThrow(invalid_password_algorithm_error_1.default);
|
|
89
|
+
});
|
|
90
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|