Files
octokit.net/Octokit.Tests.Integration/Clients/UserKeysClientTests.cs
Ryan Gribble 046c5a36cc Rename client.User.Keys to client.User.GitSshKey
Mark client.User.Keys as [Obsolete]
2016-06-09 06:44:28 +10:00

80 lines
2.7 KiB
C#

using System.Linq;
using System.Threading.Tasks;
using Xunit;
using Octokit.Tests.Integration.Helpers;
namespace Octokit.Tests.Integration.Clients
{
public class UserKeysClientTests
{
[IntegrationTest]
public async Task CanGetAllForCurrentUser()
{
var github = Helper.GetAuthenticatedClient();
using (var context = await github.CreatePublicKeyContext())
{
var keys = await github.User.GitSshKey.GetAllForCurrent();
Assert.NotEmpty(keys);
var first = keys[0];
Assert.NotNull(first.Id);
Assert.NotNull(first.Key);
Assert.NotNull(first.Title);
Assert.NotNull(first.Url);
}
}
[IntegrationTest]
public async Task CanGetAllForGivenUser()
{
var github = Helper.GetAuthenticatedClient();
var keys = await github.User.GitSshKey.GetAll("shiftkey");
Assert.NotEmpty(keys);
var first = keys[0];
Assert.NotNull(first.Id);
Assert.NotNull(first.Key);
Assert.Null(first.Title);
Assert.Null(first.Url);
}
[IntegrationTest]
public async Task CanGetKeyById()
{
var github = Helper.GetAuthenticatedClient();
using (var context = await github.CreatePublicKeyContext())
{
var key = await github.User.GitSshKey.Get(context.KeyId);
Assert.Equal(key.Title, context.KeyTitle);
Assert.Equal(key.Key, context.KeyData);
}
}
[IntegrationTest]
public async Task CanCreateAndDeleteKey()
{
// Create a key
string keyTitle = "title";
string keyData = "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAjo4DqFKg8dOxiz/yjypmN1A4itU5QOStyYrfOFuTinesU/2zm9hqxJ5BctIhgtSHJ5foxkhsiBji0qrUg73Q25BThgNg8YFE8njr4EwjmqSqW13akx/zLV0GFFU0SdJ2F6rBldhi93lMnl0ex9swBqa3eLTY8C+HQGBI6MQUMw+BKp0oFkz87Kv+Pfp6lt/Uo32ejSxML1PT5hTH5n+fyl0ied+sRmPGZWmWoHB5Bc9mox7lB6I6A/ZgjtBqbEEn4HQ2/6vp4ojKfSgA4Mm7XMu0bZzX0itKjH1QWD9Lr5apV1cmZsj49Xf8SHucTtH+bq98hb8OOXEGFzplwsX2MQ==";
var github = Helper.GetAuthenticatedClient();
var key = await github.User.GitSshKey.Create(new NewPublicKey(keyTitle, keyData));
Assert.NotNull(key);
Assert.Equal(key.Title, "title");
Assert.Equal(key.Key, keyData);
// Delete key
await github.User.GitSshKey.Delete(key.Id);
// Verify key no longer exists
var keys = await github.User.GitSshKey.GetAllForCurrent();
Assert.False(keys.Any(k => k.Title == keyTitle && k.Key == keyData));
}
}
}