Пример #1
0
        public void TestRepositoryCacheBuilt() {
            var cache = new RepositoryCache();
            var localRepository = new MockPackageRepository(new List<IPackage>() {
                new DataServicePackage() {
                    Id = "A",
                    Version = "1.0.0",
                    Tags = "Procon Potato Tag2"
                }
            });

            cache.Add("localhost");

            cache.SourceRepositories.TryAdd("localhost", new MockPackageRepository(new List<IPackage>() {
                new DataServicePackage() {
                    Id = "A",
                    Version = "2.0.0",
                    Tags = "Procon Potato Tag2",
                    IsLatestVersion = true
                }
            }));

            PackagesController packages = new PackagesController() {
                LocalRepository = localRepository,
                Cache = cache
            };

            packages.Poke();

            Assert.IsNotNull(packages.Cache.Repositories.First(repository => repository.Uri == "localhost"));
            Assert.AreEqual("A", packages.Cache.Repositories.First(repository => repository.Uri == "localhost").Packages.First().Id);
            Assert.AreEqual(PackageState.UpdateAvailable, packages.Cache.Repositories.First(repository => repository.Uri == "localhost").Packages.First().State);
        }
Пример #2
0
        public void TestRepositoryCacheBuiltEventLogged() {
            EventsController events = new EventsController();

            var cache = new RepositoryCache();
            var localRepository = new MockPackageRepository(new List<IPackage>() {
                new DataServicePackage() {
                    Id = "A",
                    Version = "1.0.0",
                    Tags = "Procon Potato Tag2"
                }
            });

            cache.Add("localhost");

            cache.SourceRepositories.TryAdd("localhost", new MockPackageRepository(new List<IPackage>() {
                new DataServicePackage() {
                    Id = "A",
                    Version = "2.0.0",
                    Tags = "Procon Potato Tag2",
                    IsLatestVersion = true
                }
            }));

            PackagesController packages = new PackagesController() {
                LocalRepository = localRepository,
                Cache = cache
            };

            packages.Shared.Events = events;

            packages.Poke();

            Assert.IsNotEmpty(events.LoggedEvents);
            Assert.AreEqual("PackagesCacheRebuilt", events.LoggedEvents.First().Name);
            Assert.AreEqual("A", events.LoggedEvents.First().Now.Repositories.First(repository => repository.Uri == "localhost").Packages.First().Id);
            Assert.AreEqual(PackageState.UpdateAvailable, events.LoggedEvents.First().Now.Repositories.First(repository => repository.Uri == "localhost").Packages.First().State);
        }