@@ -133,75 +133,23 @@ class SqlDataSourceTest extends Specification {
133
133
ds1. hashCode() != ds3. hashCode()
134
134
}
135
135
136
- def ' should handle null credentials gracefully ' () {
136
+ def ' should detect unresolved secrets ' () {
137
137
when :
138
- def ds = new SqlDataSource ([url : ' jdbc:h2:mem:' , user : null , password : null ])
139
- then :
140
- ds. user == SqlDataSource . DEFAULT_USER
141
- ds. password == null
142
- }
143
-
144
- def ' should handle empty string credentials' () {
145
- when :
146
- def ds = new SqlDataSource ([url : ' jdbc:h2:mem:' , user : ' ' , password : ' ' ])
147
- then :
148
- ds. user == SqlDataSource . DEFAULT_USER
149
- ds. password == null
150
- }
151
-
152
- def ' should detect unresolved secrets.* pattern' () {
153
- when :
154
- new SqlDataSource ([user : ' secrets.ATHENA_USER' ])
138
+ new SqlDataSource ([user : pattern])
155
139
then :
156
140
def e = thrown(IllegalArgumentException )
157
- e. message. contains(" Unresolved secret detected for user" )
158
- e. message. contains(" secrets.ATHENA_USER" )
141
+ e. message. contains(" Unresolved secret detected" )
159
142
e. message. contains(" workspace secrets are not properly configured" )
160
- }
161
143
162
- def ' should detect unresolved [secret] pattern' () {
163
- when :
164
- new SqlDataSource ([password : ' [secret]' ])
165
- then :
166
- def e = thrown(IllegalArgumentException )
167
- e. message. contains(" Unresolved secret detected for password" )
168
- e. message. contains(" [secret]" )
169
- e. message. contains(" workspace secrets are not properly configured" )
170
- }
171
-
172
- def ' should allow valid secret-like strings that are not unresolved' () {
173
- when :
174
- def ds = new SqlDataSource ([user : ' mysecret' , password : ' secretpassword' ])
175
- then :
176
- ds. user == ' mysecret'
177
- ds. password == ' secretpassword'
178
- }
179
-
180
- def ' should handle secrets in fallback constructor' () {
181
- given :
182
- def fallback = new SqlDataSource ([user : ' fallback_user' , password : ' fallback_pass' ])
183
-
184
- when :
185
- new SqlDataSource ([user : ' secrets.ATHENA_USER' ], fallback)
186
- then :
187
- def e = thrown(IllegalArgumentException )
188
- e. message. contains(" Unresolved secret detected for user" )
144
+ where :
145
+ pattern << [' secrets.ATHENA_USER' , ' [secret]' ]
189
146
}
190
147
191
- def ' should provide comprehensive error message for secrets ' () {
148
+ def ' should allow valid credentials ' () {
192
149
when :
193
- new SqlDataSource ([user : ' secrets.MISSING_SECRET ' ])
150
+ def ds = new SqlDataSource ([user : ' validuser ' , password : ' validpass ' ])
194
151
then :
195
- def e = thrown(IllegalArgumentException )
196
- with(e. message) {
197
- contains(" Unresolved secret detected" )
198
- contains(" secrets.MISSING_SECRET" )
199
- contains(" workspace secrets are not properly configured" )
200
- contains(" secret is defined in your workspace" )
201
- contains(" secret name matches exactly" )
202
- contains(" proper permissions" )
203
- contains(" Nextflow version supports secrets" )
204
- contains(" https://www.nextflow.io/docs/latest/secrets.html" )
205
- }
152
+ ds. user == ' validuser'
153
+ ds. password == ' validpass'
206
154
}
207
155
}
0 commit comments