@@ -2,7 +2,6 @@ import { logger, Level } from "@coder/logger"
2
2
import * as assert from "assert"
3
3
import * as path from "path"
4
4
import { parse } from "../src/node/cli"
5
- import { paths } from "../src/node/util"
6
5
7
6
describe ( "cli" , ( ) => {
8
7
beforeEach ( ( ) => {
@@ -12,17 +11,15 @@ describe("cli", () => {
12
11
// The parser will always fill these out.
13
12
const defaults = {
14
13
_ : [ ] ,
15
- "extensions-dir" : path . join ( paths . data , "extensions" ) ,
16
- "user-data-dir" : paths . data ,
17
14
}
18
15
19
- it ( "should set defaults" , async ( ) => {
20
- assert . deepEqual ( await await parse ( [ ] ) , defaults )
16
+ it ( "should set defaults" , ( ) => {
17
+ assert . deepEqual ( parse ( [ ] ) , defaults )
21
18
} )
22
19
23
- it ( "should parse all available options" , async ( ) => {
20
+ it ( "should parse all available options" , ( ) => {
24
21
assert . deepEqual (
25
- await await parse ( [
22
+ parse ( [
26
23
"--bind-addr=192.169.0.1:8080" ,
27
24
"--auth" ,
28
25
"none" ,
@@ -84,8 +81,8 @@ describe("cli", () => {
84
81
)
85
82
} )
86
83
87
- it ( "should work with short options" , async ( ) => {
88
- assert . deepEqual ( await parse ( [ "-vvv" , "-v" ] ) , {
84
+ it ( "should work with short options" , ( ) => {
85
+ assert . deepEqual ( parse ( [ "-vvv" , "-v" ] ) , {
89
86
...defaults ,
90
87
log : "trace" ,
91
88
verbose : true ,
@@ -95,17 +92,18 @@ describe("cli", () => {
95
92
assert . equal ( logger . level , Level . Trace )
96
93
} )
97
94
98
- it ( "should use log level env var" , async ( ) => {
95
+ it ( "should use log level env var" , ( ) => {
99
96
process . env . LOG_LEVEL = "debug"
100
- assert . deepEqual ( await parse ( [ ] ) , {
97
+ assert . deepEqual ( parse ( [ ] ) , {
101
98
...defaults ,
102
99
log : "debug" ,
100
+ verbose : false ,
103
101
} )
104
102
assert . equal ( process . env . LOG_LEVEL , "debug" )
105
103
assert . equal ( logger . level , Level . Debug )
106
104
107
105
process . env . LOG_LEVEL = "trace"
108
- assert . deepEqual ( await parse ( [ ] ) , {
106
+ assert . deepEqual ( parse ( [ ] ) , {
109
107
...defaults ,
110
108
log : "trace" ,
111
109
verbose : true ,
@@ -116,23 +114,25 @@ describe("cli", () => {
116
114
117
115
it ( "should prefer --log to env var and --verbose to --log" , async ( ) => {
118
116
process . env . LOG_LEVEL = "debug"
119
- assert . deepEqual ( await parse ( [ "--log" , "info" ] ) , {
117
+ assert . deepEqual ( parse ( [ "--log" , "info" ] ) , {
120
118
...defaults ,
121
119
log : "info" ,
120
+ verbose : false ,
122
121
} )
123
122
assert . equal ( process . env . LOG_LEVEL , "info" )
124
123
assert . equal ( logger . level , Level . Info )
125
124
126
125
process . env . LOG_LEVEL = "trace"
127
- assert . deepEqual ( await parse ( [ "--log" , "info" ] ) , {
126
+ assert . deepEqual ( parse ( [ "--log" , "info" ] ) , {
128
127
...defaults ,
129
128
log : "info" ,
129
+ verbose : false ,
130
130
} )
131
131
assert . equal ( process . env . LOG_LEVEL , "info" )
132
132
assert . equal ( logger . level , Level . Info )
133
133
134
134
process . env . LOG_LEVEL = "warn"
135
- assert . deepEqual ( await parse ( [ "--log" , "info" , "--verbose" ] ) , {
135
+ assert . deepEqual ( parse ( [ "--log" , "info" , "--verbose" ] ) , {
136
136
...defaults ,
137
137
log : "trace" ,
138
138
verbose : true ,
@@ -141,68 +141,62 @@ describe("cli", () => {
141
141
assert . equal ( logger . level , Level . Trace )
142
142
} )
143
143
144
- it ( "should ignore invalid log level env var" , async ( ) => {
144
+ it ( "should ignore invalid log level env var" , ( ) => {
145
145
process . env . LOG_LEVEL = "bogus"
146
- assert . deepEqual ( await parse ( [ ] ) , defaults )
146
+ assert . deepEqual ( parse ( [ ] ) , defaults )
147
147
} )
148
148
149
- it ( "should error if value isn't provided" , async ( ) => {
150
- await assert . rejects ( async ( ) => await parse ( [ "--auth" ] ) , / - - a u t h r e q u i r e s a v a l u e / )
151
- await assert . rejects ( async ( ) => await parse ( [ "--auth=" , "--log=debug" ] ) , / - - a u t h r e q u i r e s a v a l u e / )
152
- await assert . rejects ( async ( ) => await parse ( [ "--auth" , "--log" ] ) , / - - a u t h r e q u i r e s a v a l u e / )
153
- await assert . rejects ( async ( ) => await parse ( [ "--auth" , "--invalid" ] ) , / - - a u t h r e q u i r e s a v a l u e / )
154
- await assert . rejects ( async ( ) => await parse ( [ "--bind-addr" ] ) , / - - b i n d - a d d r r e q u i r e s a v a l u e / )
149
+ it ( "should error if value isn't provided" , ( ) => {
150
+ assert . throws ( ( ) => parse ( [ "--auth" ] ) , / - - a u t h r e q u i r e s a v a l u e / )
151
+ assert . throws ( ( ) => parse ( [ "--auth=" , "--log=debug" ] ) , / - - a u t h r e q u i r e s a v a l u e / )
152
+ assert . throws ( ( ) => parse ( [ "--auth" , "--log" ] ) , / - - a u t h r e q u i r e s a v a l u e / )
153
+ assert . throws ( ( ) => parse ( [ "--auth" , "--invalid" ] ) , / - - a u t h r e q u i r e s a v a l u e / )
154
+ assert . throws ( ( ) => parse ( [ "--bind-addr" ] ) , / - - b i n d - a d d r r e q u i r e s a v a l u e / )
155
155
} )
156
156
157
- it ( "should error if value is invalid" , async ( ) => {
158
- await assert . rejects ( async ( ) => await parse ( [ "--port" , "foo" ] ) , / - - p o r t m u s t b e a n u m b e r / )
159
- await assert . rejects ( async ( ) => await parse ( [ "--auth" , "invalid" ] ) , / - - a u t h v a l i d v a l u e s : \[ p a s s w o r d , n o n e \] / )
160
- await assert . rejects (
161
- async ( ) => await parse ( [ "--log" , "invalid" ] ) ,
162
- / - - l o g v a l i d v a l u e s : \[ t r a c e , d e b u g , i n f o , w a r n , e r r o r \] / ,
163
- )
157
+ it ( "should error if value is invalid" , ( ) => {
158
+ assert . throws ( ( ) => parse ( [ "--port" , "foo" ] ) , / - - p o r t m u s t b e a n u m b e r / )
159
+ assert . throws ( ( ) => parse ( [ "--auth" , "invalid" ] ) , / - - a u t h v a l i d v a l u e s : \[ p a s s w o r d , n o n e \] / )
160
+ assert . throws ( ( ) => parse ( [ "--log" , "invalid" ] ) , / - - l o g v a l i d v a l u e s : \[ t r a c e , d e b u g , i n f o , w a r n , e r r o r \] / )
164
161
} )
165
162
166
- it ( "should error if the option doesn't exist" , async ( ) => {
167
- await assert . rejects ( async ( ) => await parse ( [ "--foo" ] ) , / U n k n o w n o p t i o n - - f o o / )
163
+ it ( "should error if the option doesn't exist" , ( ) => {
164
+ assert . throws ( ( ) => parse ( [ "--foo" ] ) , / U n k n o w n o p t i o n - - f o o / )
168
165
} )
169
166
170
- it ( "should not error if the value is optional" , async ( ) => {
171
- assert . deepEqual ( await parse ( [ "--cert" ] ) , {
167
+ it ( "should not error if the value is optional" , ( ) => {
168
+ assert . deepEqual ( parse ( [ "--cert" ] ) , {
172
169
...defaults ,
173
170
cert : {
174
171
value : undefined ,
175
172
} ,
176
173
} )
177
174
} )
178
175
179
- it ( "should not allow option-like values" , async ( ) => {
180
- await assert . rejects ( async ( ) => await parse ( [ "--socket" , "--socket-path-value" ] ) , / - - s o c k e t r e q u i r e s a v a l u e / )
176
+ it ( "should not allow option-like values" , ( ) => {
177
+ assert . throws ( ( ) => parse ( [ "--socket" , "--socket-path-value" ] ) , / - - s o c k e t r e q u i r e s a v a l u e / )
181
178
// If you actually had a path like this you would do this instead:
182
- assert . deepEqual ( await parse ( [ "--socket" , "./--socket-path-value" ] ) , {
179
+ assert . deepEqual ( parse ( [ "--socket" , "./--socket-path-value" ] ) , {
183
180
...defaults ,
184
181
socket : path . resolve ( "--socket-path-value" ) ,
185
182
} )
186
- await assert . rejects (
187
- async ( ) => await parse ( [ "--cert" , "--socket-path-value" ] ) ,
188
- / U n k n o w n o p t i o n - - s o c k e t - p a t h - v a l u e / ,
189
- )
183
+ assert . throws ( ( ) => parse ( [ "--cert" , "--socket-path-value" ] ) , / U n k n o w n o p t i o n - - s o c k e t - p a t h - v a l u e / )
190
184
} )
191
185
192
- it ( "should allow positional arguments before options" , async ( ) => {
193
- assert . deepEqual ( await parse ( [ "foo" , "test" , "--auth" , "none" ] ) , {
186
+ it ( "should allow positional arguments before options" , ( ) => {
187
+ assert . deepEqual ( parse ( [ "foo" , "test" , "--auth" , "none" ] ) , {
194
188
...defaults ,
195
189
_ : [ "foo" , "test" ] ,
196
190
auth : "none" ,
197
191
} )
198
192
} )
199
193
200
- it ( "should support repeatable flags" , async ( ) => {
201
- assert . deepEqual ( await parse ( [ "--proxy-domain" , "*.coder.com" ] ) , {
194
+ it ( "should support repeatable flags" , ( ) => {
195
+ assert . deepEqual ( parse ( [ "--proxy-domain" , "*.coder.com" ] ) , {
202
196
...defaults ,
203
197
"proxy-domain" : [ "*.coder.com" ] ,
204
198
} )
205
- assert . deepEqual ( await parse ( [ "--proxy-domain" , "*.coder.com" , "--proxy-domain" , "test.com" ] ) , {
199
+ assert . deepEqual ( parse ( [ "--proxy-domain" , "*.coder.com" , "--proxy-domain" , "test.com" ] ) , {
206
200
...defaults ,
207
201
"proxy-domain" : [ "*.coder.com" , "test.com" ] ,
208
202
} )
0 commit comments