// Copyright (C) 2020 Storj Labs, Inc. // See LICENSE for copying information. import { AccessGrant, AccessGrantCursor, AccessGrantsApi, AccessGrantsPage, GatewayCredentials, } from '@/types/accessGrants'; /** * Mock for AccessGrantsApi */ export class AccessGrantsMock implements AccessGrantsApi { private readonly date = new Date(0); private mockAccessGrantsPage: AccessGrantsPage; public setMockAccessGrantsPage(mockAccessGrantsPage: AccessGrantsPage): void { this.mockAccessGrantsPage = mockAccessGrantsPage; } get(projectId: string, cursor: AccessGrantCursor): Promise { return Promise.resolve(this.mockAccessGrantsPage); } create(projectId: string, name: string): Promise { return Promise.resolve(new AccessGrant('testId', 'testName', this.date, 'testKey')); } delete(ids: string[]): Promise { return Promise.resolve(); } deleteByNameAndProjectID(name: string, projectID: string): Promise { return Promise.resolve(); } getGatewayCredentials(accessGrant: string, optionalURL?: string): Promise { return Promise.resolve(new GatewayCredentials('testCredId', new Date(), 'testAccessKeyId', 'testSecret', 'testEndpoint')); } }