Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 90535f2

Browse files
committed
Move CacheContainer into environment and use a mock for the tests
1 parent 4d03791 commit 90535f2

File tree

8 files changed

+21
-19
lines changed

8 files changed

+21
-19
lines changed

src/GitHub.Api/Application/ApplicationManagerBase.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public ITask InitializeRepository()
116116
.Then(GitClient.Commit("Initial commit", null))
117117
.Then(_ =>
118118
{
119-
Environment.InitializeRepository(CacheContainer);
119+
Environment.InitializeRepository();
120120
RestartRepository();
121121
})
122122
.ThenInUI(InitializeUI);
@@ -214,9 +214,7 @@ public void Dispose()
214214
public ISettings LocalSettings { get; protected set; }
215215
public ISettings SystemSettings { get; protected set; }
216216
public ISettings UserSettings { get; protected set; }
217-
public ICacheContainer CacheContainer { get; protected set; }
218217
public IUsageTracker UsageTracker { get; protected set; }
219-
220218
protected TaskScheduler UIScheduler { get; private set; }
221219
protected SynchronizationContext SynchronizationContext { get; private set; }
222220
protected IRepositoryManager RepositoryManager { get { return repositoryManager; } }

src/GitHub.Api/Application/IApplicationManager.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ public interface IApplicationManager : IDisposable
1515
ISettings LocalSettings { get; }
1616
ISettings UserSettings { get; }
1717
ITaskManager TaskManager { get; }
18-
ICacheContainer CacheContainer { get; }
1918
IGitClient GitClient { get; }
2019
IUsageTracker UsageTracker { get; }
2120

src/GitHub.Api/Platform/DefaultEnvironment.cs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ namespace GitHub.Unity
77
public class DefaultEnvironment : IEnvironment
88
{
99
private const string logFile = "github-unity.log";
10+
private ICacheContainer cacheContainer;
1011

1112
public NPath LogPath { get; }
1213
public DefaultEnvironment()
@@ -35,6 +36,12 @@ public DefaultEnvironment()
3536
LogPath = UserCachePath.Combine(logFile);
3637
}
3738

39+
public DefaultEnvironment(ICacheContainer cacheContainer)
40+
: this()
41+
{
42+
this.cacheContainer = cacheContainer;
43+
}
44+
3845
public void Initialize(string unityVersion, NPath extensionInstallPath, NPath unityPath, NPath assetsPath)
3946
{
4047
ExtensionInstallPath = extensionInstallPath;
@@ -44,7 +51,7 @@ public void Initialize(string unityVersion, NPath extensionInstallPath, NPath un
4451
UnityVersion = unityVersion;
4552
}
4653

47-
public void InitializeRepository(ICacheContainer cacheContainer, NPath expectedRepositoryPath = null)
54+
public void InitializeRepository(NPath expectedRepositoryPath = null)
4855
{
4956
Guard.NotNull(this, FileSystem, nameof(FileSystem));
5057

src/GitHub.Api/Platform/IEnvironment.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace GitHub.Unity
55
public interface IEnvironment
66
{
77
void Initialize(string unityVersion, NPath extensionInstallPath, NPath unityPath, NPath assetsPath);
8-
void InitializeRepository(ICacheContainer cacheContainer, NPath expectedRepositoryPath = null);
8+
void InitializeRepository(NPath expectedRepositoryPath = null);
99
string ExpandEnvironmentVariables(string name);
1010
string GetEnvironmentVariable(string v);
1111
string GetSpecialFolder(Environment.SpecialFolder folder);

src/UnityExtension/Assets/Editor/GitHub.Unity/ApplicationCache.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ public IEnvironment Environment
6767
{
6868
if (environment == null)
6969
{
70-
environment = new DefaultEnvironment();
70+
environment = new DefaultEnvironment(new CacheContainer());
7171
if (unityApplication == null)
7272
{
7373
unityAssetsPath = Application.dataPath;
@@ -77,7 +77,7 @@ public IEnvironment Environment
7777
}
7878
environment.Initialize(unityVersion, extensionInstallPath.ToNPath(), unityApplication.ToNPath(),
7979
unityAssetsPath.ToNPath());
80-
environment.InitializeRepository(EntryPoint.ApplicationManager.CacheContainer, !String.IsNullOrEmpty(repositoryPath)
80+
environment.InitializeRepository(!String.IsNullOrEmpty(repositoryPath)
8181
? repositoryPath.ToNPath()
8282
: null);
8383
Flush();

src/UnityExtension/Assets/Editor/GitHub.Unity/ApplicationManager.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ public ApplicationManager(IMainThreadSynchronizationContext synchronizationConte
1919
{
2020
ListenToUnityExit();
2121
Initialize();
22-
CacheContainer = new CacheContainer();
2322
}
2423

2524
protected override void SetupMetrics()

src/tests/IntegrationTests/BaseGitEnvironmentTest.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Threading;
33
using GitHub.Unity;
44
using System.Threading.Tasks;
5+
using NSubstitute;
56

67
namespace IntegrationTests
78
{
@@ -14,7 +15,9 @@ protected async Task<IEnvironment> Initialize(NPath repoPath, NPath environmentP
1415
SyncContext = new ThreadSynchronizationContext(TaskManager.Token);
1516
TaskManager.UIScheduler = new SynchronizationContextTaskScheduler(SyncContext);
1617

17-
Environment = new IntegrationTestEnvironment(repoPath, SolutionDirectory, environmentPath, enableEnvironmentTrace);
18+
//TODO: Mock CacheContainer
19+
ICacheContainer cacheContainer = Substitute.For<ICacheContainer>();
20+
Environment = new IntegrationTestEnvironment(cacheContainer, repoPath, SolutionDirectory, environmentPath, enableEnvironmentTrace);
1821

1922
var gitSetup = new GitInstaller(Environment, TaskManager.Token);
2023
await gitSetup.SetupIfNeeded();
@@ -31,8 +34,6 @@ protected async Task<IEnvironment> Initialize(NPath repoPath, NPath environmentP
3134
RepositoryManager = GitHub.Unity.RepositoryManager.CreateInstance(Platform, TaskManager, GitClient, repoPath);
3235
RepositoryManager.Initialize();
3336

34-
//TODO: Mock CacheContainer
35-
ICacheContainer cacheContainer = null;
3637
Environment.Repository = new Repository(repoPath, cacheContainer);
3738
Environment.Repository.Initialize(RepositoryManager);
3839

src/tests/IntegrationTests/Git/IntegrationTestEnvironment.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ class IntegrationTestEnvironment : IEnvironment
1212

1313
private DefaultEnvironment defaultEnvironment;
1414

15-
public IntegrationTestEnvironment(NPath repoPath, NPath solutionDirectory, NPath environmentPath = null,
15+
public IntegrationTestEnvironment(ICacheContainer cacheContainer, NPath repoPath, NPath solutionDirectory, NPath environmentPath = null,
1616
bool enableTrace = false)
1717
{
18-
defaultEnvironment = new DefaultEnvironment();
18+
defaultEnvironment = new DefaultEnvironment(cacheContainer);
1919
defaultEnvironment.FileSystem.SetCurrentDirectory(repoPath);
2020
environmentPath = environmentPath ??
2121
defaultEnvironment.GetSpecialFolder(Environment.SpecialFolder.LocalApplicationData)
@@ -28,10 +28,8 @@ public IntegrationTestEnvironment(NPath repoPath, NPath solutionDirectory, NPath
2828

2929
var installPath = solutionDirectory.Parent.Parent.Combine("src", "GitHub.Api");
3030

31-
//TODO: Mock CacheContainer
32-
ICacheContainer cacheContainer = null;
3331
Initialize(UnityVersion, installPath, solutionDirectory, repoPath.Combine("Assets"));
34-
InitializeRepository(cacheContainer);
32+
InitializeRepository();
3533

3634
this.enableTrace = enableTrace;
3735

@@ -47,9 +45,9 @@ public void Initialize(string unityVersion, NPath extensionInstallPath, NPath un
4745
defaultEnvironment.Initialize(unityVersion, extensionInstallPath, unityPath, assetsPath);
4846
}
4947

50-
public void InitializeRepository(ICacheContainer cacheContainer, NPath expectedPath = null)
48+
public void InitializeRepository(NPath expectedPath = null)
5149
{
52-
defaultEnvironment.InitializeRepository(cacheContainer, expectedPath);
50+
defaultEnvironment.InitializeRepository(expectedPath);
5351
}
5452

5553
public string ExpandEnvironmentVariables(string name)

0 commit comments

Comments
 (0)