Exemple #1
0
        public void RemovePackageSourceTest()
        {
            using (CaptureConsole) {
                Reset();

                // simple add a package source
                var addedSources = Provider.AddPackageSource("srcname", "srcLocation", false, Host()).ToArray();
                AssertNoErrors();
                Assert.Equal(1, addedSources.Length);
                Assert.Equal("srcname", addedSources[0].Name);
                Assert.Equal("srcLocation", addedSources[0].Location);
                Assert.True(addedSources[0].IsRegistered);
                Assert.False(addedSources[0].IsTrusted);
                Assert.True(addedSources[0].IsValidated);

                // now, remove it.
                var removedSources = Provider.RemovePackageSource("srcname", Host()).ToArray();
                AssertNoErrors();
                Assert.Equal(1, removedSources.Length);

                // make sure that the package source doesn't exist in the list anymore
                var sources = Provider.ResolvePackageSources(Host()).ToArray();
                AssertNoErrors();
                Assert.DoesNotContain(sources, each => each.Name.EqualsIgnoreCase("srcname"));

                // shoudl error on source not found
                removedSources = Provider.RemovePackageSource("srcname", Host()).ToArray();
                Assert.Equal(1, ErrorCount);
                Assert.Equal(0, removedSources.Length);
            }
        }
Exemple #2
0
        public void AddPackageSourceTest()
        {
            using (CaptureConsole) {
                lock (Provider) {
                    Reset();

                    // simple add a package source
                    var addedSources = Provider.AddPackageSource("srcname", "srcLocation", false, Host()).ToArray();
                    AssertNoErrors();
                    Assert.Equal(1, addedSources.Length);
                    Assert.Equal("srcname", addedSources[0].Name);
                    Assert.Equal("srcLocation", addedSources[0].Location);
                    Assert.True(addedSources[0].IsRegistered);
                    Assert.False(addedSources[0].IsTrusted);
                    Assert.True(addedSources[0].IsValidated);

                    // simple update a package source
                    addedSources = Provider.AddPackageSource("srcname", "srcLocation2", true, Host(new {
                        // tell the client that it's an update
                        GetOptionValues = new Func <string, IEnumerable <string> >(key => {
                            if (key == Constants.Parameters.IsUpdate)
                            {
                                return("true".SingleItemAsEnumerable());
                            }
                            return(null);
                        })
                    })).ToArray();
                    AssertNoErrors();

                    Assert.Equal(1, addedSources.Length);
                    Assert.Equal("srcname", addedSources[0].Name);
                    Assert.Equal("srcLocation2", addedSources[0].Location);
                    Assert.True(addedSources[0].IsRegistered);
                    Assert.True(addedSources[0].IsTrusted);
                    Assert.True(addedSources[0].IsValidated);

                    // should error on overwrite without isUpdate
                    addedSources = Provider.AddPackageSource("srcname", "srcLocation2", true, Host()).ToArray();
                    Assert.Equal(1, ErrorCount);
                    Assert.Equal(0, addedSources.Length);
                }
            }
        }
        // Friendly APIs

        public IAsyncEnumerable <PackageSource> AddPackageSource(string name, string location, bool trusted, IRequestObject requestObject)
        {
            requestObject = requestObject ?? new object();
            return(new PackageSourceRequestObject(this, requestObject.As <IHostApi>(), request => Provider.AddPackageSource(name, location, trusted, request)));
        }
Exemple #4
0
        // Friendly APIs

        public ICancellableEnumerable <PackageSource> AddPackageSource(string name, string location, bool trusted, RequestImpl requestImpl)
        {
            return(new Response <PackageSource>(requestImpl, this, response => Provider.AddPackageSource(name, location, trusted, response)).CompleteResult);
        }