Beispiel #1
0
        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);
            }
        }