public void GetWatchedMovies(List <ITraktWatchedMovie> onlineWatchedMovies, ITraktSyncLastActivities onlineLastSyncActivities, int expectedWatchedMoviesCount) { // Arrange ITraktClient traktClient = Substitute.For <ITraktClient>(); traktClient.GetWatchedMovies().Returns(onlineWatchedMovies); traktClient.GetLastActivities().Returns(onlineLastSyncActivities); IFileOperations fileOperations = Substitute.For <IFileOperations>(); SetFileOperationsForFile(fileOperations, DataPath, FileName.LastActivity.Value); SetFileOperationsForFile(fileOperations, DataPath, FileName.WatchedMovies.Value); SetFileOperationsForFile(fileOperations, DataPath, FileName.CollectedMovies.Value); IMediaPortalServices mediaPortalServices = Substitute.For <IMediaPortalServices>(); mediaPortalServices.GetTraktUserHomePath().Returns(DataPath); // Act ITraktCache traktCache = new TraktCache(mediaPortalServices, traktClient, fileOperations); TraktMovies traktMovies = traktCache.RefreshMoviesCache(); // Assert int actualWatchedMoviesCount = traktMovies.Watched.Count(); Assert.Equal(expectedWatchedMoviesCount, actualWatchedMoviesCount); }
private void SaveLastSyncActivities(ITraktSyncLastActivities syncLastActivities) { string lastSyncActivitiesPath = Path.Combine(_mediaPortalServices.GetTraktUserHomePath(), FileName.LastActivity.Value); string lastSyncActivitiesJson = TraktSerializationService.SerializeAsync(syncLastActivities).Result; _fileOperations.FileWriteAllText(lastSyncActivitiesPath, lastSyncActivitiesJson, Encoding.UTF8); }
private void SaveLastSyncActivities(ITraktSyncLastActivities traktSyncLastActivities, string path) { string serializedSyncActivities = TraktSerializationService.SerializeAsync(traktSyncLastActivities).Result; string syncActivitiesFilePath = Path.Combine(path, FileName.LastActivity.Value); _fileOperations.FileWriteAllText(syncActivitiesFilePath, serializedSyncActivities, Encoding.UTF8); }
public void AuthorizeUser() { try { ITraktAuthorization authorization = _traktClient.GetAuthorization(PinCode); ITraktUserSettings traktUserSettings = _traktClient.GetTraktUserSettings(); ITraktSyncLastActivities traktSyncLastActivities = _traktClient.GetLastActivities(); string traktUserHomePath = _mediaPortalServices.GetTraktUserHomePath(); if (!_fileOperations.DirectoryExists(traktUserHomePath)) { _fileOperations.CreateDirectory(traktUserHomePath); } SaveTraktAuthorization(authorization, traktUserHomePath); SaveTraktUserSettings(traktUserSettings, traktUserHomePath); SaveLastSyncActivities(traktSyncLastActivities, traktUserHomePath); TestStatus = "[Trakt.AuthorizationSucceed]"; IsUserAuthorized = true; } catch (Exception ex) { TestStatus = "[Trakt.AuthorizationFailed]"; _mediaPortalServices.GetLogger().Error(ex); IsUserAuthorized = false; } }
public async Task Test_TraktSyncModule_GetLastActivities() { TraktClient client = TestUtility.GetOAuthMockClient(GET_LAST_ACTIVITIES_URI, LAST_ACTIVITIES_JSON); TraktResponse <ITraktSyncLastActivities> response = await client.Sync.GetLastActivitiesAsync(); response.Should().NotBeNull(); response.IsSuccess.Should().BeTrue(); response.HasValue.Should().BeTrue(); response.Value.Should().NotBeNull(); ITraktSyncLastActivities responseValue = response.Value; responseValue.All.Should().Be(DateTime.Parse("2014-11-20T07:01:32.378Z").ToUniversalTime()); responseValue.Movies.Should().NotBeNull(); responseValue.Movies.WatchedAt.Should().Be(DateTime.Parse("2014-11-19T21:42:41.823Z").ToUniversalTime()); responseValue.Movies.CollectedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.243Z").ToUniversalTime()); responseValue.Movies.RatedAt.Should().Be(DateTime.Parse("2014-11-19T18:32:29.459Z").ToUniversalTime()); responseValue.Movies.WatchlistedAt.Should().Be(DateTime.Parse("2014-11-19T21:42:41.844Z").ToUniversalTime()); responseValue.Movies.CommentedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.250Z").ToUniversalTime()); responseValue.Movies.PausedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.250Z").ToUniversalTime()); responseValue.Movies.HiddenAt.Should().Be(DateTime.Parse("2016-08-20T06:51:30.000Z").ToUniversalTime()); responseValue.Episodes.Should().NotBeNull(); responseValue.Episodes.WatchedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.305Z").ToUniversalTime()); responseValue.Episodes.CollectedAt.Should().Be(DateTime.Parse("2014-11-19T22:02:41.308Z").ToUniversalTime()); responseValue.Episodes.RatedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.310Z").ToUniversalTime()); responseValue.Episodes.WatchlistedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.321Z").ToUniversalTime()); responseValue.Episodes.CommentedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.325Z").ToUniversalTime()); responseValue.Episodes.PausedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.250Z").ToUniversalTime()); responseValue.Shows.Should().NotBeNull(); responseValue.Shows.RatedAt.Should().Be(DateTime.Parse("2014-11-19T19:50:58.557Z").ToUniversalTime()); responseValue.Shows.WatchlistedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.262Z").ToUniversalTime()); responseValue.Shows.CommentedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.281Z").ToUniversalTime()); responseValue.Shows.HiddenAt.Should().Be(DateTime.Parse("2016-08-20T06:51:30.000Z").ToUniversalTime()); responseValue.Seasons.Should().NotBeNull(); responseValue.Seasons.RatedAt.Should().Be(DateTime.Parse("2014-11-19T19:54:24.537Z").ToUniversalTime()); responseValue.Seasons.WatchlistedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.297Z").ToUniversalTime()); responseValue.Seasons.CommentedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.301Z").ToUniversalTime()); responseValue.Seasons.HiddenAt.Should().Be(DateTime.Parse("2016-08-20T06:51:30.000Z").ToUniversalTime()); responseValue.Comments.Should().NotBeNull(); responseValue.Comments.LikedAt.Should().Be(DateTime.Parse("2014-11-20T03:38:09.122Z").ToUniversalTime()); responseValue.Lists.Should().NotBeNull(); responseValue.Lists.LikedAt.Should().Be(DateTime.Parse("2014-11-20T00:36:48.506Z").ToUniversalTime()); responseValue.Lists.UpdatedAt.Should().Be(DateTime.Parse("2014-11-20T06:52:18.837Z").ToUniversalTime()); responseValue.Lists.CommentedAt.Should().Be(DateTime.Parse("2014-11-20T06:51:30.250Z").ToUniversalTime()); }
public TraktEpisodes RefreshSeriesCache() { _onlineSyncLastActivities = _traktClient.GetLastActivities(); _savedSyncLastActivities = SavedLastSyncActivities(); TraktEpisodes traktEpisodes = new TraktEpisodes { UnWatched = RefreshUnWatchedEpisodes(), Watched = RefreshWatchedEpisodes(), Collected = RefreshCollectedEpisodes() }; SaveLastSyncActivities(_savedSyncLastActivities); return(traktEpisodes); }
public void ClearLastActivity(string filename) { ITraktSyncLastActivities lastActivities = SavedLastSyncActivities(); if (filename.Equals(FileName.CollectedEpisodes.Value)) { lastActivities.Episodes.CollectedAt = null; } else if (filename.Equals(FileName.CollectedMovies.Value)) { lastActivities.Movies.CollectedAt = null; } else if (filename.Equals(FileName.WatchedEpisodes.Value)) { lastActivities.Episodes.WatchedAt = null; } else if (filename.Equals(FileName.WatchedMovies.Value)) { lastActivities.Movies.WatchedAt = null; } _savedSyncLastActivities = lastActivities; SaveLastSyncActivities(_savedSyncLastActivities); }