public void GivenAGitHubVersionResponse_WhenReusedAfterADay_ThenTheResponse_ShouldBeConsideredInvalid() { var responseToCache = new GitHubVersionResponse() { Name = "test", ResponseDate = DateTime.Now.Subtract(new TimeSpan(7, 0, 0, 0)), Tag = "tag", Url = "url", When = new DateTimeOffset(DateTime.Now) }; Assert.False(responseToCache.CacheIsInDate()); }
public void GivenAGitHubVersionResponse_WhenReusedWithADay_ThenTheResponse_ShouldBeConsideredValid() { var responseToCache = new GitHubVersionResponse() { Name = "test", ResponseDate = DateTime.Now, Tag = "tag", Url = "url", When = new DateTimeOffset(DateTime.Now) }; Assert.True(responseToCache.CacheIsInDate()); }
public void GivenNoCacheFileExists_WhenAttemptingToReadACacheFrom_ThenANullObject_ShouldBeReturned() { if (System.IO.File.Exists(GitHubVersionResponse.CacheFileName)) { GitHubVersionResponse.ClearCache(); } var cache = GitHubVersionResponse.TryReadFromCache(); Assert.Null(cache); }
public string GetNewestVersion() { HttpWebRequest request = WebRequest.Create("https://api.github.com/repos/thorwin99/SEWorldGenPlugin/releases/latest") as HttpWebRequest; request.Method = "GET"; request.UserAgent = "SEWorldGenPlugin"; WebResponse response = request.GetResponse(); JsonRelease latest = GitHubVersionResponse.Deserialize(response.GetResponseStream()); m_latestBuild = latest.tag_name.Trim().Substring(1) + ".0"; m_latestPage = latest.html_url; return(m_latestBuild); }
public void GivenAGitHubVersionResponseCached_WhenClearingTheCache_ThenTheCacheFile_ShouldBeRemoved() { var responseToCache = new GitHubVersionResponse() { Name = "test", ResponseDate = DateTime.Now, Tag = "tag", Url = "url", When = new DateTimeOffset(DateTime.Now) }; responseToCache.SaveCache(); Assert.True(System.IO.File.Exists(GitHubVersionResponse.CacheFileName)); GitHubVersionResponse.ClearCache(); Assert.False(System.IO.File.Exists(GitHubVersionResponse.CacheFileName)); }
public void GivenAGitHubVersionResponse_WhenCachingTheResponse_ThenACacheFile_ShouldBeSaved() { var responseToCache = new GitHubVersionResponse() { Name = "test", ResponseDate = DateTime.Now, Tag = "tag", Url = "url", When = new DateTimeOffset(DateTime.Now) }; responseToCache.SaveCache(); var cache = GitHubVersionResponse.TryReadFromCache(); var cacheIsEqual = (cache != null && cache.Name == responseToCache.Name && cache.ResponseDate == responseToCache.ResponseDate && cache.Tag == responseToCache.Tag && cache.Url == responseToCache.Url && cache.When == responseToCache.When); Assert.True(cacheIsEqual); GitHubVersionResponse.ClearCache(); }