Skip to content
This repository was archived by the owner on Jun 21, 2023. It is now read-only.

Commit 95f2c0b

Browse files
committed
Remove IObservableKeychainAdapter.
Just call `ToObservable` on the task returned by `IKeychain`.
1 parent c8b8dd7 commit 95f2c0b

File tree

9 files changed

+16
-148
lines changed

9 files changed

+16
-148
lines changed

src/GitHub.App/Caches/ObservableKeychainAdapter.cs

Lines changed: 0 additions & 72 deletions
This file was deleted.

src/GitHub.App/Factories/RepositoryHostFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public class RepositoryHostFactory : IRepositoryHostFactory
1717
readonly IApiClientFactory apiClientFactory;
1818
readonly IHostCacheFactory hostCacheFactory;
1919
readonly ILoginManager loginManager;
20-
readonly IObservableKeychainAdapter keychain;
20+
readonly IKeychain keychain;
2121
readonly IAvatarProvider avatarProvider;
2222
readonly CompositeDisposable hosts = new CompositeDisposable();
2323
readonly IUsageTracker usage;
@@ -27,7 +27,7 @@ public RepositoryHostFactory(
2727
IApiClientFactory apiClientFactory,
2828
IHostCacheFactory hostCacheFactory,
2929
ILoginManager loginManager,
30-
IObservableKeychainAdapter keychain,
30+
IKeychain keychain,
3131
IAvatarProvider avatarProvider,
3232
IUsageTracker usage)
3333
{

src/GitHub.App/GitHub.App.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,6 @@
177177
<Compile Include="Factories\HostCacheFactory.cs" />
178178
<Compile Include="Factories\IBlobCacheFactory.cs" />
179179
<Compile Include="Factories\IHostCacheFactory.cs" />
180-
<Compile Include="Caches\ObservableKeychainAdapter.cs" />
181180
<Compile Include="Caches\SharedCache.cs" />
182181
<Compile Include="Factories\SqlitePersistentBlobCacheFactory.cs" />
183182
<Compile Include="Info\GitHubUrls.cs" />

src/GitHub.App/Models/RepositoryHost.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class RepositoryHost : ReactiveObject, IRepositoryHost
2727

2828
readonly ILoginManager loginManager;
2929
readonly HostAddress hostAddress;
30-
readonly IObservableKeychainAdapter keychain;
30+
readonly IKeychain keychain;
3131
readonly IUsageTracker usage;
3232

3333
bool isLoggedIn;
@@ -36,7 +36,7 @@ public RepositoryHost(
3636
IApiClient apiClient,
3737
IModelService modelService,
3838
ILoginManager loginManager,
39-
IObservableKeychainAdapter keychain,
39+
IKeychain keychain,
4040
IUsageTracker usage)
4141
{
4242
ApiClient = apiClient;
@@ -126,7 +126,7 @@ public IObservable<Unit> LogOut()
126126

127127
log.Info(CultureInfo.InvariantCulture, "Logged off of host '{0}'", hostAddress.ApiUri);
128128

129-
return keychain.EraseLogin(Address)
129+
return keychain.Delete(Address).ToObservable()
130130
.Catch<Unit, Exception>(e =>
131131
{
132132
log.Warn("ASSERT! Failed to erase login. Going to invalidate cache anyways.", e);
@@ -167,7 +167,7 @@ IObservable<AuthenticationResult> LoginWithApiUser(UserAndScopes userAndScopes)
167167

168168
if (result == AuthenticationResult.VerificationFailure)
169169
{
170-
return keychain.EraseLogin(Address).Select(_ => result);
170+
return keychain.Delete(Address).ToObservable().Select(_ => result);
171171
}
172172
return Observable.Return(result);
173173
})

src/GitHub.Exports.Reactive/Caches/IObservableKeychainAdapter.cs

Lines changed: 0 additions & 15 deletions
This file was deleted.

src/GitHub.Exports.Reactive/GitHub.Exports.Reactive.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@
120120
<Compile Include="ViewModels\ILoginToGitHubForEnterpriseViewModel.cs" />
121121
<Compile Include="ViewModels\ILoginToGitHubViewModel.cs" />
122122
<Compile Include="Caches\IImageCache.cs" />
123-
<Compile Include="Caches\IObservableKeychainAdapter.cs" />
124123
<Compile Include="Caches\ISharedCache.cs" />
125124
<Compile Include="Services\IImageDownloader.cs" />
126125
<Compile Include="Services\IGitClient.cs" />

src/UnitTests/GitHub.App/Models/RepositoryHostTests.cs

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
using GitHub.Services;
1313
using NSubstitute;
1414
using Octokit;
15-
using UnitTests.Helpers;
1615
using Xunit;
1716

1817
public class RepositoryHostTests
@@ -32,9 +31,9 @@ public async Task LogsTheUserInSuccessfullyAndCachesRelevantInfo()
3231
var modelService = new ModelService(apiClient, hostCache, Substitute.For<IAvatarProvider>());
3332
var loginManager = Substitute.For<ILoginManager>();
3433
loginManager.Login(HostAddress.GitHubDotComHostAddress, Arg.Any<IGitHubClient>(), "baymax", "aPassword").Returns(CreateUserAndScopes("baymax").User);
35-
var loginCache = new TestLoginCache();
34+
var keychain = Substitute.For<IKeychain>();
3635
var usage = Substitute.For<IUsageTracker>();
37-
var host = new RepositoryHost(apiClient, modelService, loginManager, loginCache, usage);
36+
var host = new RepositoryHost(apiClient, modelService, loginManager, keychain, usage);
3837

3938
var result = await host.LogIn("baymax", "aPassword");
4039

@@ -57,9 +56,9 @@ public async Task IncrementsLoginCount()
5756
var modelService = Substitute.For<IModelService>();
5857
var loginManager = Substitute.For<ILoginManager>();
5958
loginManager.Login(HostAddress.GitHubDotComHostAddress, Arg.Any<IGitHubClient>(), "baymax", "aPassword").Returns(CreateUserAndScopes("baymax").User);
60-
var loginCache = new TestLoginCache();
59+
var keychain = Substitute.For<IKeychain>();
6160
var usage = Substitute.For<IUsageTracker>();
62-
var host = new RepositoryHost(apiClient, modelService, loginManager, loginCache, usage);
61+
var host = new RepositoryHost(apiClient, modelService, loginManager, keychain, usage);
6362

6463
var result = await host.LogIn("baymax", "aPassword");
6564

@@ -76,9 +75,9 @@ public async Task DoesNotLogInWhenRetrievingOauthTokenFails()
7675
var loginManager = Substitute.For<ILoginManager>();
7776
loginManager.Login(HostAddress.GitHubDotComHostAddress, Arg.Any<IGitHubClient>(), "jiminy", "cricket")
7877
.Returns<User>(_ => { throw new NotFoundException("", HttpStatusCode.BadGateway); });
79-
var loginCache = new TestLoginCache();
78+
var keychain = Substitute.For<IKeychain>();
8079
var usage = Substitute.For<IUsageTracker>();
81-
var host = new RepositoryHost(apiClient, modelService, loginManager, loginCache, usage);
80+
var host = new RepositoryHost(apiClient, modelService, loginManager, keychain, usage);
8281

8382
await Assert.ThrowsAsync<NotFoundException>(async () => await host.LogIn("jiminy", "cricket"));
8483

@@ -98,9 +97,9 @@ public async Task LogsTheUserInSuccessfullyAndCachesRelevantInfo()
9897
var modelService = new ModelService(apiClient, hostCache, Substitute.For<IAvatarProvider>());
9998
var loginManager = Substitute.For<ILoginManager>();
10099
loginManager.LoginFromCache(HostAddress.GitHubDotComHostAddress, Arg.Any<IGitHubClient>()).Returns(CreateUserAndScopes("baymax").User);
101-
var loginCache = new TestLoginCache();
100+
var keychain = Substitute.For<IKeychain>();
102101
var usage = Substitute.For<IUsageTracker>();
103-
var host = new RepositoryHost(apiClient, modelService, loginManager, loginCache, usage);
102+
var host = new RepositoryHost(apiClient, modelService, loginManager, keychain, usage);
104103

105104
var result = await host.LogInFromCache();
106105

@@ -119,9 +118,9 @@ public async Task IncrementsLoginCount()
119118
var modelService = Substitute.For<IModelService>();
120119
var loginManager = Substitute.For<ILoginManager>();
121120
loginManager.LoginFromCache(HostAddress.GitHubDotComHostAddress, Arg.Any<IGitHubClient>()).Returns(CreateUserAndScopes("baymax").User);
122-
var loginCache = new TestLoginCache();
121+
var keychain = Substitute.For<IKeychain>();
123122
var usage = Substitute.For<IUsageTracker>();
124-
var host = new RepositoryHost(apiClient, modelService, loginManager, loginCache, usage);
123+
var host = new RepositoryHost(apiClient, modelService, loginManager, keychain, usage);
125124

126125
var result = await host.LogInFromCache();
127126

src/UnitTests/Helpers/TestLoginCache.cs

Lines changed: 0 additions & 41 deletions
This file was deleted.

src/UnitTests/UnitTests.csproj

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,6 @@
264264
<Compile Include="Helpers\LazySubstitute.cs" />
265265
<Compile Include="Helpers\ReactiveTestHelper.cs" />
266266
<Compile Include="Helpers\TestBaseClass.cs" />
267-
<Compile Include="Helpers\TestLoginCache.cs" />
268267
<Compile Include="Helpers\TestSharedCache.cs" />
269268
<Compile Include="Properties\Resources.Designer.cs">
270269
<AutoGen>True</AutoGen>

0 commit comments

Comments
 (0)