public void NewRequestBody_SetsCorrectEngineName()
        {
            var pkg = new Package(@"C:\pkg", "Foo", "0.1.0", "MIT");
            var b   = PackageUploadBuilder.NewRequestBody(pkg);

            Assert.AreEqual(PackageManagerClient.PackageEngineName, b.engine);
        }
        public void NewPackageVersionUpload_ThrowsExceptionWhenPackageIsTooBig()
        {
            var pub = BigPackageUploadBuilderMock();

            var files   = new[] { @"C:\file1.dyf", @"C:\file2.dyf" };
            var pkg     = new Package(@"C:\pkg", "Foo", "0.1.0", "MIT");
            var pkgsDir = @"C:\dynamopackages";

            var handle = new PackageUploadHandle(PackageUploadBuilder.NewRequestBody(pkg));

            Assert.Throws <Exception>(() => pub.NewPackageVersionUpload(pkg, pkgsDir, files, handle));
        }
        public void NewPackageUpload_ThrowsForNullArguments()
        {
            var files   = new[] { @"C:\file1.dyf", @"C:\file2.dyf" };
            var pkg     = new Package(@"C:\pkg", "Foo", "0.1.0", "MIT");
            var pkgsDir = @"C:\dynamopackages";
            var handle  = new PackageUploadHandle(PackageUploadBuilder.NewRequestBody(pkg));

            var m = new PackageUploadBuilder(MockMaker.Empty <IPackageDirectoryBuilder>(), MockMaker.Empty <IFileCompressor>());

            Assert.Throws <ArgumentNullException>(() => m.NewPackageUpload(null, pkgsDir, files, handle));
            Assert.Throws <ArgumentNullException>(() => m.NewPackageUpload(pkg, null, files, handle));
            Assert.Throws <ArgumentNullException>(() => m.NewPackageUpload(pkg, pkgsDir, null, handle));
            Assert.Throws <ArgumentNullException>(() => m.NewPackageUpload(pkg, pkgsDir, files, null));
        }
        public void NewPackageVersionUpload_ThrowsForNullArguments()
        {
            var files = new[] { @"C:\file1.dyf", @"C:\file2.dyf" };
            var pkg = new Package(@"C:\pkg", "Foo", "0.1.0", "MIT");
            var pkgsDir = @"C:\dynamopackages";
            var handle = new PackageUploadHandle(PackageUploadBuilder.NewRequestBody(pkg));

            var m = new PackageUploadBuilder(MockMaker.Empty<IPackageDirectoryBuilder>(), MockMaker.Empty<IFileCompressor>());

            Assert.Throws<ArgumentNullException>(() => m.NewPackageVersionUpload(null, pkgsDir, files, handle));
            Assert.Throws<ArgumentNullException>(() => m.NewPackageVersionUpload(pkg, null, files, handle));
            Assert.Throws<ArgumentNullException>(() => m.NewPackageVersionUpload(pkg, pkgsDir, null, handle));
            Assert.Throws<ArgumentNullException>(() => m.NewPackageVersionUpload(pkg, pkgsDir, files, null));
        }
        public void Publish_SetsErrorStatusWhenRequestThrowsAnException()
        {
            var gc = new Mock <IGregClient>();

            gc.Setup(x => x.ExecuteAndDeserialize(It.IsAny <PackageUpload>())).Throws <Exception>();

            var pc = new PackageManagerClient(gc.Object, MockMaker.Empty <IPackageUploadBuilder>());

            var pkg = new Package("", "Package", "0.1.0", "MIT");

            var handle = new PackageUploadHandle(PackageUploadBuilder.NewRequestBody(pkg));

            pc.Publish(pkg, Enumerable.Empty <string>(), false, handle);

            Assert.AreEqual(PackageUploadHandle.State.Error, handle.UploadState);
        }
        public void Publish_SetsErrorStatusWhenResponseIsNull()
        {
            var gc = new Mock <IGregClient>();
            var rb = new ResponseBody();

            rb.success = false;

            gc.Setup(x => x.ExecuteAndDeserialize(It.IsAny <PackageUpload>())).Returns(rb);

            var pc = new PackageManagerClient(gc.Object, MockMaker.Empty <IPackageUploadBuilder>(), "");

            var pkg = new Package("", "Package", "0.1.0", "MIT");

            var handle = new PackageUploadHandle(PackageUploadBuilder.NewRequestBody(pkg));

            pc.Publish(pkg, Enumerable.Empty <string>(), true, handle);

            Assert.AreEqual(PackageUploadHandle.State.Error, handle.UploadState);
        }
        public void Publish_SetsHandleToDoneWhenNewPackageVersionPublishSucceeds()
        {
            var gc = new Mock <IGregClient>();

            gc.Setup(x => x.ExecuteAndDeserialize(It.IsAny <PackageVersionUpload>()))
            .Returns(new ResponseBody()
            {
                success = true
            });

            var pc = new PackageManagerClient(gc.Object, MockMaker.Empty <IPackageUploadBuilder>());

            var pkg = new Package("", "Package", "0.1.0", "MIT");

            var handle = new PackageUploadHandle(PackageUploadBuilder.NewRequestBody(pkg));

            pc.Publish(pkg, Enumerable.Empty <string>(), false, handle);

            Assert.AreEqual(PackageUploadHandle.State.Uploaded, handle.UploadState);
        }
 public void NewRequestBody_ThrowsForNullArgument()
 {
     Assert.Throws <ArgumentNullException>(() => PackageUploadBuilder.NewRequestBody(null));
 }