diff --git a/src/lib/infrastructure/ioc/container-config.ts b/src/lib/infrastructure/ioc/container-config.ts index ee71dace..1162f572 100644 --- a/src/lib/infrastructure/ioc/container-config.ts +++ b/src/lib/infrastructure/ioc/container-config.ts @@ -62,6 +62,10 @@ import RuleGatewayOutputPort from "@/lib/core/port/secondary/rule-gateway-output import RuleGateway from "../gateway/rule-gateway/rule-gateway"; import ListAccountRSEQuotasFeature from "./features/list-account-rse-quotas-feature"; import GetAccountInfoFeature from "./features/get-account-info-feature"; +import TransferGatewayOutputPort from "@/lib/core/port/secondary/transfer-gateway-output-port"; +import TransferGateway from "../gateway/transfer-gateway/transfer-gateway"; +import ListTransferStatsFeature from "./features/list-transfer-stats-feature"; +import ListTransfersFeature from "./features/list-transfers-feature"; /** @@ -77,6 +81,7 @@ appContainer.bind(GATEWAYS.STREAM).to(StreamingGateway) appContainer.bind(GATEWAYS.SUBSCRIPTION).to(SubscriptionGateway); appContainer.bind(GATEWAYS.REPLICA).to(ReplicaGateway); appContainer.bind(GATEWAYS.RULE).to(RuleGateway); +appContainer.bind(GATEWAYS.TRANSFER).to(TransferGateway); // Load Common Features loadFeaturesSync(appContainer, [ @@ -126,6 +131,12 @@ loadFeaturesSync(appContainer, [ new ListSubscriptionRuleStatesFeature(appContainer), ]) +// Features: List Transfers +loadFeaturesSync(appContainer, [ + new ListTransferStatsFeature(appContainer), + new ListTransfersFeature(appContainer), +]) + appContainer.bind(INPUT_PORT.USERPASS_LOGIN).to(UserPassLoginUseCase).inRequestScope(); appContainer.bind(CONTROLLERS.USERPASS_LOGIN).to(UserPassLoginController); appContainer.bind>(USECASE_FACTORY.USERPASS_LOGIN).toFactory((context: interfaces.Context) => @@ -174,4 +185,4 @@ appContainer.bind>(USECASE_FACTORY.SW } ); -export default appContainer; \ No newline at end of file +export default appContainer; diff --git a/test/fixtures/table-fixtures.ts b/test/fixtures/table-fixtures.ts index 7753fda7..48e108eb 100644 --- a/test/fixtures/table-fixtures.ts +++ b/test/fixtures/table-fixtures.ts @@ -9,7 +9,6 @@ import { RSEAttribute, RequestType, RequestState, - RequestStatsPerPair, } from '@/lib/core/entity/rucio' import { RSEAccountUsageLimitViewModel, RSEAttributeViewModel, RSEProtocolViewModel, RSEViewModel } from '@/lib/infrastructure/data/view-model/rse'; import { UseComDOM } from '@/lib/infrastructure/hooks/useComDOM'; @@ -76,17 +75,6 @@ function createRSEExpression(): string { return strings.join("&") } -function randomRequestStats(activities: string[]): RequestStatsPerPair[] { - const avail_activities = faker.helpers.arrayElements(activities) - return avail_activities.map((activity) => { - return { - activity: activity, - counter: faker.number.int({ max: 100 }), - bytes: faker.number.int({ min: 0, max: 1e12 }), - }; - }) -} - export function fixtureDIDViewModel(): DIDViewModel { return { ...mockBaseVM(), @@ -437,7 +425,7 @@ export function fixtureTransferViewModel(): TransferViewModel { "lifetime": faker.date.future().toISOString() }), state: randomEnum(RequestState), - activity: faker.lorem.words({ min: 1, max: 3 }), + activity: faker.company.buzzPhrase(), bytes: faker.number.int({ min: 0, max: 1e12 }), account: faker.internet.userName(), priority: faker.number.int({ min: 0, max: 3 }), @@ -449,7 +437,6 @@ export function fixtureTransferViewModel(): TransferViewModel { } export function fixtureTransferStatsViewModel(): TransferStatsViewModel { - const activities = faker.helpers.multiple(() => faker.lorem.words({ min: 1, max: 3 }), { count: 9 }) return { ...mockBaseVM(), account: faker.internet.userName(), @@ -458,11 +445,8 @@ export function fixtureTransferStatsViewModel(): TransferStatsViewModel { dest_rse_id: faker.string.uuid(), source_rse: createRSEName(), dest_rse: createRSEName(), - request_stats: randomRequestStats(activities), + activity: faker.company.buzzPhrase(), + counter: faker.number.int({ max: 100 }), + bytes: faker.number.int({ min: 0, max: 1e12 }), } } - -export function fixtureRequestStatsPerPair(): RequestStatsPerPair[] { - const activities = faker.helpers.multiple(() => faker.lorem.words({ min: 1, max: 3 }), { count: 9 }) - return randomRequestStats(activities) -}