コード例 #1
0
ファイル: TestMergePackage.cs プロジェクト: EBassie/Potato
        public void TestBeforeSourcePackageFetch()
        {
            var before = false;

            var sources = new ConcurrentDictionary<String, IPackageRepository>();

            sources.TryAdd("localhost", new MockPackageRepository(new List<IPackage>() {
                new DataServicePackage() {
                    Id = "A",
                    Version = "1.0.0"
                }
            }));

            var packages = new ServicePackageManager() {
                LocalRepository = new MockPackageRepository() {
                    Uri = Defines.PackagesDirectory.FullName
                },
                SourceRepositories = sources,
                BeforeSourcePackageFetch = () => before = true,
                PackageManagerDispatch = new MockPackageManagerDispatch()
            };

            packages.MergePackage("localhost", "A");

            Assert.IsTrue(before);
        }
コード例 #2
0
ファイル: TestMergePackage.cs プロジェクト: EBassie/Potato
        public void TestBeforeRepositoryInitialize()
        {
            var before = false;

            var packages = new ServicePackageManager() {
                BeforeRepositoryInitialize = () => before = true,
                PackageManagerDispatch = new MockPackageManagerDispatch()
            };

            packages.MergePackage("localhost", "A");

            Assert.IsTrue(before);
        }
コード例 #3
0
ファイル: TestMergePackage.cs プロジェクト: EBassie/Potato
        public void TestInstallAlreadyExistsCanceled()
        {
            var canceled = false;

            var sources = new ConcurrentDictionary<String, IPackageRepository>();

            sources.TryAdd("localhost", new MockPackageRepository(new List<IPackage>() {
                new DataServicePackage() {
                    Id = "A",
                    Version = "1.0.0",
                    IsLatestVersion = true
                }
            }));

            var packages = new ServicePackageManager() {
                LocalRepository = new MockPackageRepository(new List<IPackage>() {
                    new DataServicePackage() {
                        Id = "A",
                        Version = "1.0.0"
                    }
                }) {
                    Uri = Defines.PackagesDirectory.FullName
                },
                SourceRepositories = sources,
                PackageActionCanceled = packageId => canceled = true,
                PackageManagerDispatch = new MockPackageManagerDispatch()
            };

            packages.MergePackage("localhost", "A");

            Assert.IsTrue(canceled);
        }
コード例 #4
0
ファイル: TestMergePackage.cs プロジェクト: EBassie/Potato
        public void TestUpdateDispatched()
        {
            var dispatcher = new MockPackageManagerDispatch();

            var sources = new ConcurrentDictionary<String, IPackageRepository>();

            sources.TryAdd("localhost", new MockPackageRepository(new List<IPackage>() {
                new DataServicePackage() {
                    Id = "A",
                    Version = "2.0.0",
                    IsLatestVersion = true
                }
            }));

            var packages = new ServicePackageManager() {
                LocalRepository = new MockPackageRepository(new List<IPackage>() {
                    new DataServicePackage() {
                        Id = "A",
                        Version = "1.0.0"
                    }
                }) {
                    Uri = Defines.PackagesDirectory.FullName
                },
                PackageManagerDispatch = dispatcher,
                SourceRepositories = sources
            };

            packages.MergePackage("localhost", "A");

            Assert.IsTrue(dispatcher.DispatchedUpdatePackage);
        }
コード例 #5
0
ファイル: TestMergePackage.cs プロジェクト: EBassie/Potato
        public void TestOnRepositoryExceptionUpdatePackage()
        {
            var hint = "";

            var sources = new ConcurrentDictionary<String, IPackageRepository>();

            sources.TryAdd("localhost", new MockPackageRepository(new List<IPackage>() {
                new DataServicePackage() {
                    Id = "A",
                    Version = "2.0.0",
                    IsLatestVersion = true
                }
            }));

            var packages = new ServicePackageManager() {
                LocalRepository = new MockPackageRepository(new List<IPackage>() {
                    new DataServicePackage() {
                        Id = "A",
                        Version = "1.0.0"
                    }
                }) {
                    Uri = Defines.PackagesDirectory.FullName
                },
                SourceRepositories = sources,
                RepositoryException = (h, exception) => hint = h
            };

            packages.MergePackage("localhost", "A");

            Assert.AreEqual("ServicePackages.MergePackage.UpdatePackage", hint);
        }
コード例 #6
0
ファイル: TestMergePackage.cs プロジェクト: EBassie/Potato
        public void TestOnRepositoryExceptionGeneral()
        {
            var hint = "";

            var packages = new ServicePackageManager() {
                RepositoryException = (h, exception) => hint = h,
                PackageManagerDispatch = new MockPackageManagerDispatch()
            };

            packages.MergePackage("localhost", "A");

            Assert.AreEqual("ServicePackages.MergePackage.GeneralCatch", hint);
        }