private ITraktClient GetMockedTraktClientWithValidAuthorization() { ITraktClient traktClient = Substitute.For <ITraktClient>(); traktClient.TraktAuthorization.Returns(new TraktAuthorization { RefreshToken = "ValidToken", AccessToken = "ValidToken", }); traktClient.RefreshAuthorization(Arg.Any <string>()).Returns(new TraktAuthorization { RefreshToken = "ValidToken" }); traktClient.StartScrobbleMovie(Arg.Any <ITraktMovie>(), Arg.Any <float>()).Returns( new TraktMovieScrobblePostResponse { Movie = new TraktMovie { Ids = new TraktMovieIds { Imdb = "tt1431045", Tmdb = 67890 }, Title = "Movie1", Year = 2012 }, Action = TraktScrobbleActionType.Start, Progress = 10 }); return(traktClient); }
private ITraktClient GetMockedTraktClientWithValidAuthorization() { ITraktClient traktClient = Substitute.For <ITraktClient>(); traktClient.TraktAuthorization.Returns(new TraktAuthorization { RefreshToken = "ValidToken", AccessToken = "ValidToken" }); traktClient.RefreshAuthorization(Arg.Any <string>()).Returns(new TraktAuthorization { RefreshToken = "ValidToken" }); traktClient.StartScrobbleEpisode(Arg.Any <ITraktEpisode>(), Arg.Any <ITraktShow>(), Arg.Any <float>()).Returns( new TraktEpisodeScrobblePostResponse { Show = new TraktShow { Title = "Title_1" }, Episode = new TraktEpisode { Ids = new TraktEpisodeIds { Imdb = "tt12345", Tvdb = 289590 }, Number = 2, SeasonNumber = 2 }, Action = TraktScrobbleActionType.Start, Progress = 10 }); return(traktClient); }
private void ValidateAuthorization(ITraktClient _traktClient, IFileOperations _fileOperations) { if (!_traktClient.TraktAuthorization.IsValid) { string authFilePath = Path.Combine(HomeUserPath, FileName.Authorization.Value); string savedAuthorization = _fileOperations.FileReadAllText(authFilePath); ITraktAuthorization savedAuth = TraktSerializationService.DeserializeAsync <ITraktAuthorization>(savedAuthorization).Result; if (!savedAuth.IsRefreshPossible) { throw new Exception("Saved authorization is not valid."); } ITraktAuthorization refreshedAuth = _traktClient.RefreshAuthorization(savedAuth.RefreshToken); string serializedAuth = TraktSerializationService.SerializeAsync(refreshedAuth).Result; _fileOperations.FileWriteAllText(authFilePath, serializedAuth, Encoding.UTF8); } }