move automation credential to test helper

This is in preparation for adding much more to this test helper.
This commit is contained in:
half-ogre
2013-10-09 13:27:38 -07:00
parent 3e0efd9abd
commit 738b9e8f58
7 changed files with 65 additions and 40 deletions
+25
View File
@@ -0,0 +1,25 @@
using System;
namespace Octokit.Tests.Integration
{
public static class Helper
{
static readonly Lazy<Credentials> _credentialsThunk = new Lazy<Credentials>(() =>
{
var githubUsername = Environment.GetEnvironmentVariable("OCTOKIT_GITHUBUSERNAME");
var githubPassword = Environment.GetEnvironmentVariable("OCTOKIT_GITHUBPASSWORD");
if (githubUsername == null || githubPassword == null)
return null;
return new Credentials(githubUsername, githubPassword);
});
public static Credentials Credentials { get { return _credentialsThunk.Value; }}
public static string MakeNameWithTimestamp(string name)
{
return string.Concat(name, "-", DateTime.UtcNow.ToString("yyyyMMddhhmmssfff"));
}
}
}
@@ -8,7 +8,7 @@ namespace Octokit.Tests.Integration
{
protected override IEnumerable<ITestCommand> EnumerateTestCommands(IMethodInfo testMethod)
{
if (AutomationSettings.Current.GitHubCredentials == null)
if (Helper.Credentials == null)
yield return new SkipCommand(testMethod, MethodUtility.GetDisplayName(testMethod), "Automation settings not configured. Please set the OCTOKIT_GITHUBUSERNAME and OCTOKIT_GITHUBPASSWORD environment variables to a GitHub test account (i.e, DO NOT USE A \"REAL\" ACCOUNT).");
else
yield return new FactCommand(testMethod);
@@ -12,7 +12,7 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Octokit Test Runner")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var emojis = await github.Miscellaneous.GetEmojis();
@@ -28,7 +28,7 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var result = await github.Miscellaneous.RenderRawMarkdown("This is a **test**");
@@ -55,12 +55,12 @@
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AutomationSettings.cs" />
<Compile Include="IntegrationTestAttribute.cs" />
<Compile Include="MiscellaneousClientTests.cs" />
<Compile Include="ReleasesClientTests.cs" />
<Compile Include="RepositoriesClientTests.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Helper.cs" />
<Compile Include="UsersClientTests.cs" />
</ItemGroup>
<ItemGroup>
@@ -13,7 +13,7 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var releases = await github.Release.GetAll("git-tfs", "git-tfs");
@@ -12,9 +12,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("public-repo");
var repoName = Helper.MakeNameWithTimestamp("public-repo");
var createdRepository = await github.Repository.Create(new NewRepository { Name = repoName });
@@ -37,9 +37,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("private-repo");
var repoName = Helper.MakeNameWithTimestamp("private-repo");
var createdRepository = await github.Repository.Create(new NewRepository
{
@@ -57,9 +57,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("repo-without-downloads");
var repoName = Helper.MakeNameWithTimestamp("repo-without-downloads");
var createdRepository = await github.Repository.Create(new NewRepository
{
@@ -77,9 +77,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("repo-without-issues");
var repoName = Helper.MakeNameWithTimestamp("repo-without-issues");
var createdRepository = await github.Repository.Create(new NewRepository
{
@@ -97,9 +97,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("repo-without-wiki");
var repoName = Helper.MakeNameWithTimestamp("repo-without-wiki");
var createdRepository = await github.Repository.Create(new NewRepository
{
@@ -117,9 +117,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("repo-with-description");
var repoName = Helper.MakeNameWithTimestamp("repo-with-description");
var createdRepository = await github.Repository.Create(new NewRepository
{
@@ -137,9 +137,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("repo-with-homepage");
var repoName = Helper.MakeNameWithTimestamp("repo-with-homepage");
var createdRepository = await github.Repository.Create(new NewRepository
{
@@ -157,9 +157,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("repo-with-autoinit");
var repoName = Helper.MakeNameWithTimestamp("repo-with-autoinit");
var createdRepository = await github.Repository.Create(new NewRepository
{
@@ -178,9 +178,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("repo-with-gitignore");
var repoName = Helper.MakeNameWithTimestamp("repo-with-gitignore");
var createdRepository = await github.Repository.Create(new NewRepository
{
@@ -203,9 +203,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("public-org-repo");
var repoName = Helper.MakeNameWithTimestamp("public-org-repo");
var orgLogin = github.Credentials.Login + "-org";
// TODO: Create the org as part of the test
@@ -235,9 +235,9 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Octokit Test Runner")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repoName = AutomationSettings.MakeNameWithTimestamp("repo-to-delete");
var repoName = Helper.MakeNameWithTimestamp("repo-to-delete");
await github.Repository.Create(new NewRepository { Name = repoName });
Assert.DoesNotThrow(async () => { await github.Repository.Delete(github.Credentials.Login, repoName); });
@@ -251,7 +251,7 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Octokit Test Runner")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repository = await github.Repository.Get("haacked", "seegit");
@@ -266,7 +266,7 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repository = await github.Repository.Get("haacked", "libgit2sharp");
@@ -283,7 +283,7 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Octokit Test Runner")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var repositories = await github.Repository.GetAllForOrg("github");
@@ -299,7 +299,7 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Octokit Test Runner")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
// TODO: Change this to request github/Octokit.net once we make this OSS.
@@ -315,7 +315,7 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Octokit Test Runner")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
// TODO: Change this to request github/Octokit.net once we make this OSS.
@@ -16,7 +16,7 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Octokit Test Runner")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
// Get a user by username
@@ -40,7 +40,7 @@ namespace Octokit.Tests.Integration
{
public async Task<Credentials> GetCredentials()
{
return await Observable.Return(AutomationSettings.Current.GitHubCredentials);
return await Observable.Return(Helper.Credentials);
}
}
}
@@ -52,12 +52,12 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Octokit Test Runner")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var user = await github.User.Current();
Assert.Equal(AutomationSettings.Current.GitHubUsername, user.Login);
Assert.Equal(Helper.Credentials.Login, user.Login);
}
}
@@ -69,7 +69,7 @@ namespace Octokit.Tests.Integration
var github = new GitHubClient("Octokit Test Runner");
var userUpdate = new UserUpdate
{
Name = AutomationSettings.Current.GitHubUsername,
Name = Helper.Credentials.Login,
Bio = "UPDATED BIO"
};
@@ -83,11 +83,11 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Octokit Test Runner")
{
Credentials = new Credentials(AutomationSettings.Current.GitHubUsername, "bad-password")
Credentials = new Credentials(Helper.Credentials.Login, "bad-password")
};
var userUpdate = new UserUpdate
{
Name = AutomationSettings.Current.GitHubUsername,
Name = Helper.Credentials.Login,
Bio = "UPDATED BIO"
};
@@ -103,7 +103,7 @@ namespace Octokit.Tests.Integration
{
var github = new GitHubClient("Test Runner User Agent")
{
Credentials = AutomationSettings.Current.GitHubCredentials
Credentials = Helper.Credentials
};
var emails = await github.User.GetEmails();