public void CleanUpWatchedShows()
        {
            // Arrange
            ILogger      logger      = Substitute.For <ILogger>();
            ITraktClient traktClient = new TraktClientProxy(ApplicationId, SecretId, logger);

            ValidateAuthorization(traktClient, new FileOperations());
            IEnumerable <ITraktWatchedShow>  traktWatchedMovies = traktClient.GetWatchedShows();
            IList <TraktSyncHistoryPostShow> historyPostShows   = new List <TraktSyncHistoryPostShow>();

            foreach (ITraktWatchedShow traktWatchedShow in traktWatchedMovies)
            {
                historyPostShows.Add(new TraktSyncHistoryPostShow
                {
                    Ids = traktWatchedShow.Show.Ids
                });
            }

            // Act
            ITraktSyncHistoryRemovePostResponse response = traktClient.RemoveWatchedHistoryItems(new TraktSyncHistoryRemovePost {
                Shows = historyPostShows
            });

            Assert.NotNull(response);
        }
        public void CleanUpCollectedShowAttrakt()
        {
            // Arrange
            ILogger      logger      = Substitute.For <ILogger>();
            ITraktClient traktClient = new TraktClientProxy(ApplicationId, SecretId, logger);

            ValidateAuthorization(traktClient, new FileOperations());
            IEnumerable <ITraktCollectionShow>   collectionShows     = traktClient.GetCollectedShows();
            IList <ITraktSyncCollectionPostShow> collectionPostShows = new List <ITraktSyncCollectionPostShow>();

            foreach (ITraktCollectionShow traktSyncCollectionPostShow in collectionShows)
            {
                collectionPostShows.Add(new TraktSyncCollectionPostShow
                {
                    Ids = traktSyncCollectionPostShow.Show.Ids
                });
            }

            // Act
            ITraktSyncCollectionRemovePostResponse response = traktClient.RemoveCollectionItems(new TraktSyncCollectionPost {
                Shows = collectionPostShows
            });

            Assert.NotNull(response);
        }
        public void CleanUpCollectedMoviesAtTrakt()
        {
            // Arrange
            ILogger      logger      = Substitute.For <ILogger>();
            ITraktClient traktClient = new TraktClientProxy(ApplicationId, SecretId, logger);

            ValidateAuthorization(traktClient, new FileOperations());
            IEnumerable <ITraktCollectionMovie>   collectedMovies      = traktClient.GetCollectedMovies();
            IList <ITraktSyncCollectionPostMovie> collectionPostMovies = new List <ITraktSyncCollectionPostMovie>();

            foreach (ITraktCollectionMovie traktCollectionMovie in collectedMovies)
            {
                collectionPostMovies.Add(new TraktSyncCollectionPostMovie
                {
                    // Metadata = traktCollectionMovie.Metadata,
                    Ids   = traktCollectionMovie.Movie.Ids,
                    Year  = traktCollectionMovie.Movie.Year,
                    Title = traktCollectionMovie.Movie.Title
                });
            }

            // Act
            ITraktSyncCollectionRemovePostResponse response = traktClient.RemoveCollectionItems(new TraktSyncCollectionPost {
                Movies = collectionPostMovies
            });

            // Assert
            Assert.Equal(collectedMovies.Count(), response.Deleted.Movies);
        }
        internal static TraktScrobbleHandlerManager ResolveManager()
        {
            IMediaPortalServices mediaPortalServices = new MediaPortalServices();
            IFileOperations      fileOperations      = new FileOperations();
            ITraktClient         traktClient         = new TraktClientProxy(ApplicationId, SecretId, mediaPortalServices.GetLogger());

            return(new TraktScrobbleHandlerManager(mediaPortalServices, traktClient, fileOperations));
        }
Beispiel #5
0
        internal static TraktSyncHandlerManager ResolveManager()
        {
            IMediaPortalServices    mediaPortalServices    = new MediaPortalServices();
            IFileOperations         fileOperations         = new FileOperations();
            ITraktClient            traktClient            = new TraktClientProxy(ApplicationId, SecretId, mediaPortalServices.GetLogger());
            ITraktCache             traktCache             = new TraktCache(mediaPortalServices, traktClient, fileOperations);
            ILibrarySynchronization librarySynchronization = new LibrarySynchronization(mediaPortalServices, traktClient, traktCache, fileOperations);

            return(new TraktSyncHandlerManager(mediaPortalServices, librarySynchronization, fileOperations));
        }
        public void SyncCollectedMoviesToTrakt()
        {
            // Arrange
            IMediaPortalServices mediaPortalServices = Substitute.For <IMediaPortalServices>();

            mediaPortalServices.MarkAsWatched(Arg.Any <MediaItem>()).Returns(true);
            mediaPortalServices.MarkAsUnWatched(Arg.Any <MediaItem>()).Returns(true);
            mediaPortalServices.GetTraktUserHomePath()
            .Returns(HomeUserPath);

            IList <MediaItem>         collectedMovies = new List <MediaItem>();
            IList <MediaLibraryMovie> savedMovies     = new List <MediaLibraryMovie>();
            string collectedMoviesPath = Path.Combine(mediaPortalServices.GetTraktUserHomePath(), FileName.MediaLibraryMovies.Value);

            if (File.Exists(collectedMoviesPath))
            {
                string collectedMoviesJson = File.ReadAllText(collectedMoviesPath);
                savedMovies = JsonConvert.DeserializeObject <List <MediaLibraryMovie> >(collectedMoviesJson);
            }

            foreach (MediaLibraryMovie movie in savedMovies)
            {
                collectedMovies.Add(new MockedDatabaseMovie(new MediaLibraryMovie
                {
                    Title      = movie.Title,
                    Imdb       = movie.Imdb,
                    Year       = movie.Year,
                    AddedToDb  = movie.AddedToDb,
                    LastPlayed = movie.LastPlayed,
                    PlayCount  = movie.PlayCount
                }).Movie);
            }

            IContentDirectory contentDirectory = Substitute.For <IContentDirectory>();

            contentDirectory.SearchAsync(Arg.Any <MediaItemQuery>(), true, null, false).Returns(collectedMovies);
            mediaPortalServices.GetServerConnectionManager().ContentDirectory.Returns(contentDirectory);

            ILogger      logger      = Substitute.For <ILogger>();
            ITraktClient traktClient = new TraktClientProxy(ApplicationId, SecretId, logger);


            ValidateAuthorization(traktClient, new FileOperations());

            IFileOperations         fileOperations         = new FileOperations();
            ITraktCache             traktCache             = new TraktCache(mediaPortalServices, traktClient, fileOperations);
            ILibrarySynchronization librarySynchronization = new LibrarySynchronization(mediaPortalServices, traktClient, traktCache, fileOperations);

            // Act
            TraktSyncMoviesResult result = librarySynchronization.SyncMovies();

            // Assert
            Assert.NotNull(result);
        }