@knpkv/atlassian-common 1.7.0 → 1.8.0
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/CHANGELOG.md +6 -0
- package/dist/cli-auth/authCommand.d.ts +10 -1
- package/dist/cli-auth/authCommand.d.ts.map +1 -1
- package/dist/cli-auth/authCommand.js +10 -2
- package/dist/cli-auth/authCommand.js.map +1 -1
- package/dist/cli-auth/index.d.ts +1 -1
- package/dist/cli-auth/index.d.ts.map +1 -1
- package/dist/cli-auth/index.js +1 -1
- package/dist/cli-auth/index.js.map +1 -1
- package/package.json +1 -1
- package/src/cli-auth/authCommand.ts +12 -2
- package/src/cli-auth/index.ts +7 -1
- package/test/cliAuth.authCommand.test.ts +11 -3
- package/test/cliAuth.login.test.ts +15 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @knpkv/atlassian-common
|
|
2
2
|
|
|
3
|
+
## 1.8.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#475](https://github.com/knpkv/npm/pull/475) [`08c62b7`](https://github.com/knpkv/npm/commit/08c62b787c649d8f78753515be6faf317791d62b) Thanks [@konopkov](https://github.com/konopkov)! - `auth use <profile>` and `auth remove <profile>` now fail with a typed `ProfileNotFoundError` (exported from `@knpkv/atlassian-common/cli-auth`) and exit non-zero when no stored profile matches. The failure names the profile (`Profile not found: <profile>`, on stderr through each CLI's error handler); previously the line went to stdout and the command exited 0, so a script could not tell a typo from a switch.
|
|
8
|
+
|
|
3
9
|
## 1.7.0
|
|
4
10
|
|
|
5
11
|
### Minor Changes
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { Command, Prompt } from "effect/cli";
|
|
18
18
|
import type * as Context from "effect/Context";
|
|
19
|
+
import * as Schema from "effect/Schema";
|
|
19
20
|
import type { AtlassianCliAuth, AtlassianCliDescriptor } from "./AtlassianCliAuth.js";
|
|
20
21
|
/** The part of an Atlassian CLI's auth the `auth` commands drive. */
|
|
21
22
|
export type AuthCommandService = Pick<AtlassianCliAuth<never>, "configure" | "login" | "logout" | "getActiveProfile" | "listProfiles" | "switchProfile" | "removeProfile">;
|
|
@@ -29,6 +30,14 @@ export interface AuthCommandOptions {
|
|
|
29
30
|
* `offline_access` is requested at authorize time but is not an app permission, so it is omitted.
|
|
30
31
|
*/
|
|
31
32
|
export declare const scopeInstructions: (descriptor: AtlassianCliDescriptor, apiSection: string) => string;
|
|
33
|
+
declare const ProfileNotFoundError_base: Schema.Class<ProfileNotFoundError, Schema.TaggedStruct<"ProfileNotFoundError", {
|
|
34
|
+
readonly selector: Schema.String;
|
|
35
|
+
readonly message: Schema.String;
|
|
36
|
+
}>, import("effect/Cause").YieldableError>;
|
|
37
|
+
/** `auth use` or `auth remove` named no stored profile. The CLI prints the message and exits non-zero. */
|
|
38
|
+
export declare class ProfileNotFoundError extends ProfileNotFoundError_base {
|
|
39
|
+
}
|
|
32
40
|
/** Build `<cli> auth` with create, manage, configure, login, logout, status, profiles, use, remove. */
|
|
33
|
-
export declare const makeAuthCommand: <I, S extends AuthCommandService>(service: Context.Key<I, S>, descriptor: AtlassianCliDescriptor, options: AuthCommandOptions) => Command.Command<"auth", {}, {}, import("./openBrowser.js").BrowserOpenError | import("../index.ts").OAuthError | import("effect/Terminal").QuitError | (import("../index.ts").FileSystemError | import("../index.ts").HomeDirectoryError | import("effect/PlatformError").PlatformError), import("effect/process/ChildProcessSpawner").ChildProcessSpawner | Exclude<Exclude<I, "effect/cli/GlobalFlag/log-level">, Command.CommandContext<"auth">> | Prompt.Environment>;
|
|
41
|
+
export declare const makeAuthCommand: <I, S extends AuthCommandService>(service: Context.Key<I, S>, descriptor: AtlassianCliDescriptor, options: AuthCommandOptions) => Command.Command<"auth", {}, {}, import("./openBrowser.js").BrowserOpenError | import("../index.ts").OAuthError | ProfileNotFoundError | import("effect/Terminal").QuitError | (import("../index.ts").FileSystemError | import("../index.ts").HomeDirectoryError | import("effect/PlatformError").PlatformError), import("effect/process/ChildProcessSpawner").ChildProcessSpawner | Exclude<Exclude<I, "effect/cli/GlobalFlag/log-level">, Command.CommandContext<"auth">> | Prompt.Environment>;
|
|
42
|
+
export {};
|
|
34
43
|
//# sourceMappingURL=authCommand.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authCommand.d.ts","sourceRoot":"","sources":["../../src/cli-auth/authCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAY,OAAO,EAAQ,MAAM,EAAE,MAAM,YAAY,CAAA;AAE5D,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAG9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAOrF,qEAAqE;AACrE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,gBAAgB,CAAC,KAAK,CAAC,EACrB,WAAW,GACX,OAAO,GACP,QAAQ,GACR,kBAAkB,GAClB,cAAc,GACd,eAAe,GACf,eAAe,CAClB,CAAA;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,eAAgB,sBAAsB,cAAc,MAAM,KAAG,MAQ1F,CAAA;
|
|
1
|
+
{"version":3,"file":"authCommand.d.ts","sourceRoot":"","sources":["../../src/cli-auth/authCommand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAY,OAAO,EAAQ,MAAM,EAAE,MAAM,YAAY,CAAA;AAE5D,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAG9C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAOrF,qEAAqE;AACrE,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,gBAAgB,CAAC,KAAK,CAAC,EACrB,WAAW,GACX,OAAO,GACP,QAAQ,GACR,kBAAkB,GAClB,cAAc,GACd,eAAe,GACf,eAAe,CAClB,CAAA;AAED,wEAAwE;AACxE,MAAM,WAAW,kBAAkB;IACjC,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,eAAgB,sBAAsB,cAAc,MAAM,KAAG,MAQ1F,CAAA;;;;;AAED,0GAA0G;AAC1G,qBAAa,oBAAqB,SAAQ,yBAGxC;CAAG;AAQL,uGAAuG;AACvG,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,CAAC,SAAS,kBAAkB,WACpD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,cACd,sBAAsB,WACzB,kBAAkB,qeA+J5B,CAAA"}
|
|
@@ -18,6 +18,7 @@ import { Argument, Command, Flag, Prompt } from "effect/cli";
|
|
|
18
18
|
import * as Console from "effect/Console";
|
|
19
19
|
import * as Effect from "effect/Effect";
|
|
20
20
|
import * as Option from "effect/Option";
|
|
21
|
+
import * as Schema from "effect/Schema";
|
|
21
22
|
import { openBrowser } from "./openBrowser.js";
|
|
22
23
|
const CREATE_APP_URL = "https://developer.atlassian.com/console/myapps/create-3lo-app/";
|
|
23
24
|
const CONSOLE_APPS_URL = "https://developer.atlassian.com/console/myapps/";
|
|
@@ -34,6 +35,13 @@ export const scopeInstructions = (descriptor, apiSection) => {
|
|
|
34
35
|
...section("User Identity API", permissions.filter((scope) => scope === "read:me"))
|
|
35
36
|
].join("\n");
|
|
36
37
|
};
|
|
38
|
+
/** `auth use` or `auth remove` named no stored profile. The CLI prints the message and exits non-zero. */
|
|
39
|
+
export class ProfileNotFoundError extends Schema.TaggedError()("ProfileNotFoundError", {
|
|
40
|
+
selector: Schema.String,
|
|
41
|
+
message: Schema.String
|
|
42
|
+
}) {
|
|
43
|
+
}
|
|
44
|
+
const profileNotFound = (selector) => new ProfileNotFoundError({ selector, message: `Profile not found: ${selector}` });
|
|
37
45
|
/** Print the URL, then try to open it; a browser that never opened fails the command. */
|
|
38
46
|
const visit = (url) => Console.log(`Opening ${url}`).pipe(Effect.andThen(openBrowser(url)));
|
|
39
47
|
/** Build `<cli> auth` with create, manage, configure, login, logout, status, profiles, use, remove. */
|
|
@@ -120,8 +128,8 @@ After adding scopes, run: ${loginHint}
|
|
|
120
128
|
}
|
|
121
129
|
}))).pipe(Command.withDescription("List stored auth profiles"));
|
|
122
130
|
const profile = Argument.String("profile").pipe(Argument.withDescription("Profile ID, name, site URL, cloud ID, or account ID"));
|
|
123
|
-
const use = Command.make("use", { profile }, ({ profile }) => withAuth((auth) => Effect.flatMap(auth.switchProfile(profile), (selected) =>
|
|
124
|
-
const remove = Command.make("remove", { profile }, ({ profile }) => withAuth((auth) => Effect.flatMap(auth.removeProfile(profile), (removed) =>
|
|
131
|
+
const use = Command.make("use", { profile }, ({ profile }) => withAuth((auth) => Effect.flatMap(auth.switchProfile(profile), (selected) => selected === null ? Effect.fail(profileNotFound(profile)) : Console.log(`Active profile: ${selected.name}`)))).pipe(Command.withDescription("Switch active auth profile"));
|
|
132
|
+
const remove = Command.make("remove", { profile }, ({ profile }) => withAuth((auth) => Effect.flatMap(auth.removeProfile(profile), (removed) => removed === null ? Effect.fail(profileNotFound(profile)) : Console.log(`Removed profile: ${removed.name}`)))).pipe(Command.withDescription("Remove stored auth profile"));
|
|
125
133
|
return Command.make("auth").pipe(Command.withDescription("Manage OAuth authentication"), Command.withSubcommands([create, manage, configure, login, logout, status, profiles, use, remove]));
|
|
126
134
|
};
|
|
127
135
|
//# sourceMappingURL=authCommand.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authCommand.js","sourceRoot":"","sources":["../../src/cli-auth/authCommand.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"authCommand.js","sourceRoot":"","sources":["../../src/cli-auth/authCommand.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-auth/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
9
|
export { type AccessibleSite, type AtlassianCliAuth, type AtlassianCliAuthOptions, type AtlassianCliDescriptor, type LoginOptions, makeAtlassianCliAuth } from "./AtlassianCliAuth.js";
|
|
10
|
-
export { type AuthCommandOptions, type AuthCommandService, makeAuthCommand, scopeInstructions } from "./authCommand.js";
|
|
10
|
+
export { type AuthCommandOptions, type AuthCommandService, makeAuthCommand, ProfileNotFoundError, scopeInstructions } from "./authCommand.js";
|
|
11
11
|
export { HttpServerFactoryLive, NodeCliAuthLive } from "./internal/NodeLayers.js";
|
|
12
12
|
export { type HttpServerFactory, HttpServerFactoryTag, makeHttpServerFactory } from "./internal/oauthServer.js";
|
|
13
13
|
export { BrowserOpenError, openBrowser } from "./openBrowser.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli-auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli-auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAAE,KAAK,iBAAiB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC/G,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
|
package/dist/cli-auth/index.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module
|
|
8
8
|
*/
|
|
9
9
|
export { makeAtlassianCliAuth } from "./AtlassianCliAuth.js";
|
|
10
|
-
export { makeAuthCommand, scopeInstructions } from "./authCommand.js";
|
|
10
|
+
export { makeAuthCommand, ProfileNotFoundError, scopeInstructions } from "./authCommand.js";
|
|
11
11
|
export { HttpServerFactoryLive, NodeCliAuthLive } from "./internal/NodeLayers.js";
|
|
12
12
|
export { HttpServerFactoryTag, makeHttpServerFactory } from "./internal/oauthServer.js";
|
|
13
13
|
export { BrowserOpenError, openBrowser } from "./openBrowser.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli-auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAML,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli-auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAML,oBAAoB,EACrB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAGL,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AACjF,OAAO,EAA0B,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC/G,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
|
package/package.json
CHANGED
|
@@ -19,6 +19,7 @@ import * as Console from "effect/Console"
|
|
|
19
19
|
import type * as Context from "effect/Context"
|
|
20
20
|
import * as Effect from "effect/Effect"
|
|
21
21
|
import * as Option from "effect/Option"
|
|
22
|
+
import * as Schema from "effect/Schema"
|
|
22
23
|
import type { AtlassianCliAuth, AtlassianCliDescriptor } from "./AtlassianCliAuth.js"
|
|
23
24
|
import { openBrowser } from "./openBrowser.js"
|
|
24
25
|
|
|
@@ -58,6 +59,15 @@ export const scopeInstructions = (descriptor: AtlassianCliDescriptor, apiSection
|
|
|
58
59
|
].join("\n")
|
|
59
60
|
}
|
|
60
61
|
|
|
62
|
+
/** `auth use` or `auth remove` named no stored profile. The CLI prints the message and exits non-zero. */
|
|
63
|
+
export class ProfileNotFoundError extends Schema.TaggedError<ProfileNotFoundError>()("ProfileNotFoundError", {
|
|
64
|
+
selector: Schema.String,
|
|
65
|
+
message: Schema.String
|
|
66
|
+
}) {}
|
|
67
|
+
|
|
68
|
+
const profileNotFound = (selector: string) =>
|
|
69
|
+
new ProfileNotFoundError({ selector, message: `Profile not found: ${selector}` })
|
|
70
|
+
|
|
61
71
|
/** Print the URL, then try to open it; a browser that never opened fails the command. */
|
|
62
72
|
const visit = (url: string) => Console.log(`Opening ${url}`).pipe(Effect.andThen(openBrowser(url)))
|
|
63
73
|
|
|
@@ -202,7 +212,7 @@ After adding scopes, run: ${loginHint}
|
|
|
202
212
|
Effect.flatMap(
|
|
203
213
|
auth.switchProfile(profile),
|
|
204
214
|
(selected) =>
|
|
205
|
-
|
|
215
|
+
selected === null ? Effect.fail(profileNotFound(profile)) : Console.log(`Active profile: ${selected.name}`)
|
|
206
216
|
)
|
|
207
217
|
)
|
|
208
218
|
).pipe(Command.withDescription("Switch active auth profile"))
|
|
@@ -215,7 +225,7 @@ After adding scopes, run: ${loginHint}
|
|
|
215
225
|
Effect.flatMap(
|
|
216
226
|
auth.removeProfile(profile),
|
|
217
227
|
(removed) =>
|
|
218
|
-
|
|
228
|
+
removed === null ? Effect.fail(profileNotFound(profile)) : Console.log(`Removed profile: ${removed.name}`)
|
|
219
229
|
)
|
|
220
230
|
)
|
|
221
231
|
).pipe(Command.withDescription("Remove stored auth profile"))
|
package/src/cli-auth/index.ts
CHANGED
|
@@ -14,7 +14,13 @@ export {
|
|
|
14
14
|
type LoginOptions,
|
|
15
15
|
makeAtlassianCliAuth
|
|
16
16
|
} from "./AtlassianCliAuth.js"
|
|
17
|
-
export {
|
|
17
|
+
export {
|
|
18
|
+
type AuthCommandOptions,
|
|
19
|
+
type AuthCommandService,
|
|
20
|
+
makeAuthCommand,
|
|
21
|
+
ProfileNotFoundError,
|
|
22
|
+
scopeInstructions
|
|
23
|
+
} from "./authCommand.js"
|
|
18
24
|
export { HttpServerFactoryLive, NodeCliAuthLive } from "./internal/NodeLayers.js"
|
|
19
25
|
export { type HttpServerFactory, HttpServerFactoryTag, makeHttpServerFactory } from "./internal/oauthServer.js"
|
|
20
26
|
export { BrowserOpenError, openBrowser } from "./openBrowser.js"
|
|
@@ -6,10 +6,12 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { NodeServices } from "@effect/platform-node"
|
|
8
8
|
import { describe, expect, it } from "@effect/vitest"
|
|
9
|
+
import * as Cause from "effect/Cause"
|
|
9
10
|
import { Command } from "effect/cli"
|
|
10
11
|
import * as Console from "effect/Console"
|
|
11
12
|
import * as Context from "effect/Context"
|
|
12
13
|
import * as Effect from "effect/Effect"
|
|
14
|
+
import * as Exit from "effect/Exit"
|
|
13
15
|
import * as Layer from "effect/Layer"
|
|
14
16
|
import * as PlatformError from "effect/PlatformError"
|
|
15
17
|
import { ChildProcessSpawner } from "effect/process"
|
|
@@ -144,10 +146,16 @@ describe("makeAuthCommand", () => {
|
|
|
144
146
|
expect((yield* run(["status"], {})).output).toContain("Not logged in. Use 'jira auth login' to authenticate.")
|
|
145
147
|
}))
|
|
146
148
|
|
|
147
|
-
it.effect("profiles marks the active one; use and remove
|
|
149
|
+
it.effect("profiles marks the active one; use and remove fail typed on an unknown selector", () =>
|
|
148
150
|
Effect.gen(function*() {
|
|
149
151
|
expect((yield* run(["profiles"], { active: profile })).output).toContain("* cloud-1:account-1")
|
|
150
|
-
|
|
151
|
-
|
|
152
|
+
for (const subcommand of ["use", "remove"]) {
|
|
153
|
+
const { exit } = yield* run([subcommand, "nope"], {})
|
|
154
|
+
expect(Exit.isFailure(exit) && Cause.squash(exit.cause), subcommand).toMatchObject({
|
|
155
|
+
_tag: "ProfileNotFoundError",
|
|
156
|
+
message: "Profile not found: nope",
|
|
157
|
+
selector: "nope"
|
|
158
|
+
})
|
|
159
|
+
}
|
|
152
160
|
}))
|
|
153
161
|
})
|
|
@@ -137,9 +137,17 @@ const observedServerFactory = (stopped: Ref.Ref<boolean>) =>
|
|
|
137
137
|
)
|
|
138
138
|
)
|
|
139
139
|
|
|
140
|
-
const captureConsole = (lines: Array<string>): Console.Console =>
|
|
140
|
+
const captureConsole = (lines: Array<string>, waiting?: Deferred.Deferred<void>): Console.Console =>
|
|
141
141
|
Object.assign(Object.create(console), {
|
|
142
|
-
log: (...args: ReadonlyArray<unknown>) =>
|
|
142
|
+
log: (...args: ReadonlyArray<unknown>) => {
|
|
143
|
+
const line = args.join(" ")
|
|
144
|
+
lines.push(line)
|
|
145
|
+
// Login prints this right before it starts its authorization deadline,
|
|
146
|
+
// without suspending in between.
|
|
147
|
+
if (waiting !== undefined && line.startsWith("Waiting for authorization")) {
|
|
148
|
+
Deferred.doneUnsafe(waiting, Effect.void)
|
|
149
|
+
}
|
|
150
|
+
},
|
|
143
151
|
error: (...args: ReadonlyArray<unknown>) => lines.push(`stderr: ${args.join(" ")}`)
|
|
144
152
|
})
|
|
145
153
|
|
|
@@ -235,6 +243,7 @@ describe("Atlassian CLI login", () => {
|
|
|
235
243
|
const attempts = yield* Ref.make<ReadonlyArray<string>>([])
|
|
236
244
|
const lines: Array<string> = []
|
|
237
245
|
const stopped = yield* Ref.make(false)
|
|
246
|
+
const waiting = yield* Deferred.make<void>()
|
|
238
247
|
|
|
239
248
|
const login = yield* makeAtlassianCliAuth(authOptions).pipe(
|
|
240
249
|
Effect.flatMap((auth) => auth.login()),
|
|
@@ -245,18 +254,14 @@ describe("Atlassian CLI login", () => {
|
|
|
245
254
|
failingLaunchers(launched, attempts),
|
|
246
255
|
observedServerFactory(stopped)
|
|
247
256
|
)),
|
|
248
|
-
Effect.provideService(Console.Console, captureConsole(lines)),
|
|
257
|
+
Effect.provideService(Console.Console, captureConsole(lines, waiting)),
|
|
249
258
|
Effect.flip,
|
|
250
259
|
Effect.forkChild({ startImmediately: true })
|
|
251
260
|
)
|
|
252
261
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
for (let minute = 0; minute < 10; minute++) {
|
|
257
|
-
yield* TestClock.adjust("1 minute")
|
|
258
|
-
yield* Effect.yieldNow
|
|
259
|
-
}
|
|
262
|
+
// The login fiber has started its five-minute deadline by the time this resumes.
|
|
263
|
+
yield* Deferred.await(waiting)
|
|
264
|
+
yield* TestClock.adjust("5 minutes")
|
|
260
265
|
const error = yield* Fiber.join(login)
|
|
261
266
|
|
|
262
267
|
expect(error._tag).toBe("OAuthError")
|