コード例 #1
0
        public void CreatePackageExceptions()
        {
            // Callbacks
            bool calledConfigured = false;

            void Handler_OnPackageConfigured(PackageHandler arg1, Config arg2, PackageInfo arg3)
            {
                calledConfigured = true;
            }

            bool calledCreated = false;

            void Handler_OnPackageCreated(PackageHandler arg1, PackageInfo arg3)
            {
                calledCreated = true;
            }

            var config         = new Config();
            var configProvider = Utils.GetConfigProvider(config, true);

            var handler = new PackageHandler(configProvider.Object);

            handler.OnPackageConfigured += Handler_OnPackageConfigured;
            handler.OnPackageCreated    += Handler_OnPackageCreated;

            var info = new PackageInfo("CoolName", "CoolId", new SemVer.Version("0.1.0"))
            {
                Url = new Uri("http://test.com")
            };

            // Ensure a ConfigException is thrown
            Assert.Throws <ConfigException>(() => handler.CreatePackage(info));
            // Ensure config has not been committed
            configProvider.Verify(m => m.Commit(), Times.Never);
            // Ensure config has not changed
            Assert.True(config.Info is null);
            // Ensure callbacks did not happen
            Assert.False(calledConfigured);
            Assert.False(calledCreated);
            // Ensure an ANE is thrown for a null package info
            Assert.Throws <ArgumentNullException>(() => handler.CreatePackage(null));
        }
コード例 #2
0
        public void CreatePackageStandard()
        {
            // Callbacks
            bool calledConfigured = false;

            void Handler_OnPackageConfigured(PackageHandler arg1, Config arg2, PackageInfo arg3)
            {
                calledConfigured = true;
            }

            bool calledCreated = false;

            void Handler_OnPackageCreated(PackageHandler arg1, PackageInfo arg3)
            {
                calledCreated = true;
            }

            // Start with an empty config
            var config         = new Config();
            var configProvider = Utils.GetConfigProvider(config);

            var handler = new PackageHandler(configProvider.Object);

            var info = new PackageInfo("CoolName", "CoolId", new SemVer.Version("0.1.0"))
            {
                Url = new Uri("http://test.com")
            };

            handler.OnPackageConfigured += Handler_OnPackageConfigured;
            handler.OnPackageCreated    += Handler_OnPackageCreated;
            handler.CreatePackage(info);

            // Ensure config was created
            configProvider.Verify(m => m.GetConfig(true));
            // Ensure config was committed
            configProvider.Verify(m => m.Commit());
            // Ensure config has changed to match info
            Assert.True(config.Info.Id == info.Id);
            Assert.True(config.Info.Name == info.Name);
            Assert.True(config.Info.Version == info.Version);
            Assert.True(config.Info.Url == info.Url);
            // Ensure callbacks were triggered
            Assert.True(calledConfigured);
            Assert.True(calledCreated);
        }
コード例 #3
0
        private static void OnPackageOptionsParsed(PackageOptions options)
        {
            HasParsedArgs = true;
            if (!File.Exists(options.File))
            {
                Console.WriteLine($"The file {options.File} does not exist.");
                return;
            }

            var    fileText = ReadFile(options.File);
            string amlRoot;
            var    outputFile = ConstructOutputFilePath(options.File);

            try
            {
                amlRoot = ConversionHandler.Convert(fileText, outputFile);
            }
            catch (Exception)
            {
                Console.WriteLine("An error occurred during conversion. The file has probably an invalid format.");
                return;
            }

            try
            {
                if (!ShouldOverride(outputFile))
                {
                    return;
                }

                File.WriteAllText(outputFile, amlRoot);
            }
            catch (IOException)
            {
                Console.WriteLine(
                    "Unable to write output file. Maybe you are missing permissions or the file is opened in another software");
                return;
            }

            var packageHandler = new PackageHandler();

            packageHandler.CreatePackage(options.File, outputFile, options.Output);
        }