History

feat(source-control): add Bitbucket & Azure Devops providers (#2473)

Julius Marminge committed 6 months agov0.0.22-nightly.20260504.196

Commit 91a03e01 parent d501ebe59 files · +5834 −2327Browse files

Showing the changes to apps/server/src/sourceControl/SourceControlRepositoryService.test.ts (1 of 59 files). Show all

Unified · Split

apps/server/src/sourceControl/SourceControlRepositoryService.test.ts+17−21
@@ -6,14 +6,10 @@ import { ChildProcessSpawner } from "effect/unstable/process"; · 5 unmodified lines
66 import { GitCommandError, type SourceControlProviderError } from "@t3tools/contracts";
77
88 import { ServerConfig } from "../config.ts";
9−import {
10− GitVcsDriver,
11− type ExecuteGitResult,
12− type GitVcsDriverShape,
13−} from "../vcs/GitVcsDriver.ts";
14−import { SourceControlProviderRegistry } from "./SourceControlProviderRegistry.ts";
15−import type { SourceControlProviderShape } from "./SourceControlProvider.ts";
16−import { SourceControlRepositoryService, layer } from "./SourceControlRepositoryService.ts";
9+import * as GitVcsDriver from "../vcs/GitVcsDriver.ts";
10+import type * as SourceControlProvider from "./SourceControlProvider.ts";
11+import * as SourceControlProviderRegistry from "./SourceControlProviderRegistry.ts";
12+import * as SourceControlRepositoryService from "./SourceControlRepositoryService.ts";
1713
1814 const CLONE_URLS = {
1915 nameWithOwner: "octocat/t3code",
@@ -22,8 +18,8 @@ const CLONE_URLS = { · 2 unmodified lines
2218 };
2319
2420 function makeProvider(
25− overrides: Partial<SourceControlProviderShape> = {},
26−): SourceControlProviderShape {
21+ overrides: Partial<SourceControlProvider.SourceControlProviderShape> = {},
22+): SourceControlProvider.SourceControlProviderShape {
2723 const unsupported = (operation: string) =>
2824 Effect.die(`unexpected provider operation ${operation}`) as Effect.Effect<
2925 never,
@@ -43,7 +39,7 @@ function makeProvider( · 13 unmodified lines
4339 };
4440 }
4541
46−function processOutput(): ExecuteGitResult {
42+function processOutput(): GitVcsDriver.ExecuteGitResult {
4743 return {
4844 exitCode: ChildProcessSpawner.ExitCode(0),
4945 stdout: "",
@@ -54,17 +50,17 @@ function processOutput(): ExecuteGitResult { · 4 unmodified lines
5450 }
5551
5652 function makeLayer(input: {
57− readonly provider?: SourceControlProviderShape;
58− readonly git?: Partial<GitVcsDriverShape>;
53+ readonly provider?: SourceControlProvider.SourceControlProviderShape;
54+ readonly git?: Partial<GitVcsDriver.GitVcsDriverShape>;
5955 }) {
60− return layer.pipe(
56+ return SourceControlRepositoryService.layer.pipe(
6157 Layer.provide(
62− Layer.mock(SourceControlProviderRegistry)({
58+ Layer.mock(SourceControlProviderRegistry.SourceControlProviderRegistry)({
6359 get: () => Effect.succeed(input.provider ?? makeProvider()),
6460 }),
6561 ),
6662 Layer.provide(
67− Layer.mock(GitVcsDriver)({
63+ Layer.mock(GitVcsDriver.GitVcsDriver)({
6864 execute: () => Effect.succeed(processOutput()),
6965 ensureRemote: () => Effect.succeed("origin"),
7066 pushCurrentBranch: () =>
@@ -93,7 +89,7 @@ it.effect("looks up repositories through the requested provider without search", · 22 unmodified lines
9389 });
9490
9591 return Effect.gen(function* () {
96− const service = yield* SourceControlRepositoryService;
92+ const service = yield* SourceControlRepositoryService.SourceControlRepositoryService;
9793 const result = yield* service.lookupRepository({
9894 provider: "github",
9995 repository: "octocat/t3code",
@@ -115,7 +111,7 @@ it.effect("clones a looked-up repository into the requested destination", () => · 15 unmodified lines
115111 const cloneCalls: Array<{ cwd: string; args: ReadonlyArray<string> }> = [];
116112
117113 yield* Effect.gen(function* () {
118− const service = yield* SourceControlRepositoryService;
114+ const service = yield* SourceControlRepositoryService.SourceControlRepositoryService;
119115 const result = yield* service.cloneRepository({
120116 provider: "github",
121117 repository: "octocat/t3code",
@@ -167,7 +163,7 @@ it.effect("publishes by creating the repository, adding a remote, and pushing up · 45 unmodified lines
167163 });
168164
169165 return Effect.gen(function* () {
170− const service = yield* SourceControlRepositoryService;
166+ const service = yield* SourceControlRepositoryService.SourceControlRepositoryService;
171167 const result = yield* service.publishRepository({
172168 cwd: "/workspace",
173169 provider: "github",
@@ -222,7 +218,7 @@ it.effect("publishes to the remote name returned by ensureRemote", () => { · 48 unmodified lines
222218 const pushCalls: Array<{ cwd: string; remoteName: string | null | undefined }> = [];
223219
224220 return Effect.gen(function* () {
225− const service = yield* SourceControlRepositoryService;
221+ const service = yield* SourceControlRepositoryService.SourceControlRepositoryService;
226222 const result = yield* service.publishRepository({
227223 cwd: "/workspace",
228224 provider: "github",
@@ -258,7 +254,7 @@ it.effect("publishes to the remote name returned by ensureRemote", () => { · 29 unmodified lines
258254 it.effect("publish succeeds with status remote_added when the local repo has no commits", () => {
259255 let pushCalls = 0;
260256 return Effect.gen(function* () {
261− const service = yield* SourceControlRepositoryService;
257+ const service = yield* SourceControlRepositoryService.SourceControlRepositoryService;
262258 const result = yield* service.publishRepository({
263259 cwd: "/workspace",
264260 provider: "github",