@@ -44,6 +44,7 @@ public class GenerateScriptCommandHandlerTests
44
44
private const string BBS_BAR_REPO_2_SLUG = "barrepo2" ;
45
45
private const string BBS_BAR_REPO_2_NAME = "BBS-BAR-REPO-2-NAME" ;
46
46
private const string BBS_SHARED_HOME = "BBS-SHARED-HOME" ;
47
+ private const string AWS_BUCKET_NAME = "AWS-BUCKET-NAME" ;
47
48
48
49
public GenerateScriptCommandHandlerTests ( )
49
50
{
@@ -54,8 +55,8 @@ public GenerateScriptCommandHandlerTests()
54
55
_mockBbsApi . Object ,
55
56
_mockEnvironmentVariableProvider . Object ) ;
56
57
57
- _mockEnvironmentVariableProvider . Setup ( m => m . BbsUsername ( ) ) . Returns ( BBS_USERNAME ) ;
58
- _mockEnvironmentVariableProvider . Setup ( m => m . BbsPassword ( ) ) . Returns ( BBS_PASSWORD ) ;
58
+ _mockEnvironmentVariableProvider . Setup ( m => m . BbsUsername ( It . IsAny < bool > ( ) ) ) . Returns ( BBS_USERNAME ) ;
59
+ _mockEnvironmentVariableProvider . Setup ( m => m . BbsPassword ( It . IsAny < bool > ( ) ) ) . Returns ( BBS_PASSWORD ) ;
59
60
_mockBbsApi . Setup ( m => m . GetProjects ( ) ) . ReturnsAsync ( new [ ] { ( 1 , BBS_FOO_PROJECT_KEY , BBS_FOO_PROJECT_NAME ) } ) ;
60
61
_mockBbsApi . Setup ( m => m . GetRepos ( BBS_FOO_PROJECT_KEY ) ) . ReturnsAsync ( new [ ] { ( 1 , BBS_FOO_REPO_1_SLUG , BBS_FOO_REPO_1_NAME ) } ) ;
61
62
}
@@ -148,8 +149,8 @@ public async Task Two_Projects_Two_Repos_Each_All_Options()
148
149
_mockFileSystemProvider . Verify ( m => m . WriteAllTextAsync ( It . IsAny < string > ( ) , It . Is < string > ( script => script . Contains ( migrateRepoCommand3 ) ) ) ) ;
149
150
_mockFileSystemProvider . Verify ( m => m . WriteAllTextAsync ( It . IsAny < string > ( ) , It . Is < string > ( script => script . Contains ( migrateRepoCommand4 ) ) ) ) ;
150
151
151
- _mockEnvironmentVariableProvider . Verify ( m => m . BbsUsername ( ) , Times . Never ) ;
152
- _mockEnvironmentVariableProvider . Verify ( m => m . BbsPassword ( ) , Times . Never ) ;
152
+ _mockEnvironmentVariableProvider . Verify ( m => m . BbsUsername ( It . IsAny < bool > ( ) ) , Times . Never ) ;
153
+ _mockEnvironmentVariableProvider . Verify ( m => m . BbsPassword ( It . IsAny < bool > ( ) ) , Times . Never ) ;
153
154
}
154
155
155
156
[ Fact ]
@@ -260,6 +261,42 @@ function Exec {
260
261
_mockFileSystemProvider . Verify ( m => m . WriteAllTextAsync ( It . IsAny < string > ( ) , It . Is < string > ( script => script . Contains ( execFunctionBlock ) ) ) ) ;
261
262
}
262
263
264
+ [ Fact ]
265
+ public async Task One_Repo_With_Aws_Bucket_Name ( )
266
+ {
267
+ // Arrange
268
+ _mockBbsApi . Setup ( m => m . GetProjects ( ) ) . ReturnsAsync ( new [ ]
269
+ {
270
+ ( Id : 1 , Key : BBS_FOO_PROJECT_KEY , Name : BBS_FOO_PROJECT_NAME ) ,
271
+ } ) ;
272
+ _mockBbsApi . Setup ( m => m . GetRepos ( BBS_FOO_PROJECT_KEY ) ) . ReturnsAsync ( new [ ]
273
+ {
274
+ ( Id : 1 , Slug : BBS_FOO_REPO_1_SLUG , Name : BBS_FOO_REPO_1_NAME ) ,
275
+ } ) ;
276
+
277
+ const string migrateRepoCommand = $ "Exec {{ gh bbs2gh migrate-repo --bbs-server-url \" { BBS_SERVER_URL } \" --bbs-username \" { BBS_USERNAME } \" --bbs-shared-home \" { BBS_SHARED_HOME } \" --bbs-project \" { BBS_FOO_PROJECT_KEY } \" --bbs-repo \" { BBS_FOO_REPO_1_SLUG } \" --ssh-user \" { SSH_USER } \" --ssh-private-key \" { SSH_PRIVATE_KEY } \" --ssh-port { SSH_PORT } --github-org \" { GITHUB_ORG } \" --github-repo \" { BBS_FOO_PROJECT_KEY } -{ BBS_FOO_REPO_1_SLUG } \" --verbose --wait --aws-bucket-name \" { AWS_BUCKET_NAME } \" }}";
278
+
279
+ // Act
280
+ var args = new GenerateScriptCommandArgs
281
+ {
282
+ BbsServerUrl = BBS_SERVER_URL ,
283
+ GithubOrg = GITHUB_ORG ,
284
+ BbsUsername = BBS_USERNAME ,
285
+ BbsPassword = BBS_PASSWORD ,
286
+ BbsSharedHome = BBS_SHARED_HOME ,
287
+ SshUser = SSH_USER ,
288
+ SshPrivateKey = SSH_PRIVATE_KEY ,
289
+ SshPort = SSH_PORT ,
290
+ Output = new FileInfo ( OUTPUT ) ,
291
+ Verbose = true ,
292
+ AwsBucketName = AWS_BUCKET_NAME
293
+ } ;
294
+ await _handler . Handle ( args ) ;
295
+
296
+ // Assert
297
+ _mockFileSystemProvider . Verify ( m => m . WriteAllTextAsync ( It . IsAny < string > ( ) , It . Is < string > ( script => script . Contains ( migrateRepoCommand ) ) ) ) ;
298
+ }
299
+
263
300
private string TrimNonExecutableLines ( string script , int skipFirst = 9 , int skipLast = 0 )
264
301
{
265
302
var lines = script . Split ( new [ ] { Environment . NewLine , "\n " } , StringSplitOptions . RemoveEmptyEntries ) . AsEnumerable ( ) ;
0 commit comments