Ejemplo n.º 1
0
        public static int Main(string[] args)
        {
            try
            {
                ProcessArgs(args);

                if (Options.File != null)
                {
                    Log.InfoFormat("Transforming {0}", Options.File);

                    var moduleService = new ModuleService();
                    var fileService = new FileService();
                    var http = new CachingHttpService(FindCache(new KSPManager(new ConsoleUser(false))));

                    var netkan = ReadNetkan();
                    Log.Info("Finished reading input");

                    new NetkanValidator().Validate(netkan);
                    Log.Info("Input successfully passed pre-validation");

                    var transformer = new NetkanTransformer(
                        http,
                        fileService,
                        moduleService,
                        Options.GitHubToken,
                        Options.PreRelease
                    );

                    var ckan = transformer.Transform(netkan);
                    Log.Info("Finished transformation");

                    new CkanValidator(netkan, http, moduleService).Validate(ckan);
                    Log.Info("Output successfully passed post-validation");

                    WriteCkan(ckan);
                }
                else
                {
                    Log.Fatal(
                        "Usage: netkan [--verbose|--debug] [--debugger] [--prerelease] [--outputdir=...] <filename>"
                    );

                    return ExitBadOpt;
                }
            }
            catch (Exception e)
            {
                Log.Fatal(e.Message);

                if (Options == null || Options.Debug)
                {
                    Log.Fatal(e.StackTrace);
                }

                return ExitError;
            }

            return ExitOk;
        }
Ejemplo n.º 2
0
        public void GetsFileSizeCorrectly()
        {
            // Arrange
            var sut = new FileService();

            // Act
            var result = sut.GetSizeBytes(TestData.DogeCoinFlagZip());

            // Assert
            Assert.That(result, Is.EqualTo(53647),
                "FileService should return the correct file size."
            );
        }
Ejemplo n.º 3
0
        public void GetsGzipMimeCorrectly()
        {
            // Arrange
            var sut = new FileService();

            // Act
            var result = sut.GetMimetype(TestData.DataDir("FileIdentifier/test_gzip.gz"));

            // Assert
            Assert.That(result, Is.EqualTo("application/x-gzip"),
                "FileService should return the correct mimetype for a gzip file."
            );
        }
Ejemplo n.º 4
0
        public void GetsFileHashSha256Correctly()
        {
            // Arrange
            var sut = new FileService();

            // Act
            var result = sut.GetFileHashSha256(TestData.DogeCoinFlagZip());

            // Assert
            Assert.That(result, Is.EqualTo("EC955DB772FBA8CAA62BF61C180D624C350D792C6F573D35A5EAEE3898DCF7C1"),
                "FileService should return the correct file SHA256 hash."
            );
        }
Ejemplo n.º 5
0
        public void GetsFileHashSha1Correctly()
        {
            // Arrange
            var sut = new FileService();

            // Act
            var result = sut.GetFileHashSha1(TestData.DogeCoinFlagZip());

            // Assert
            Assert.That(result, Is.EqualTo("47B6ED5F502AD914744882858345BE030A29E1AA"),
                "FileService should return the correct file SHA1 hash."
            );
        }
Ejemplo n.º 6
0
        public void GetsAsciiMimeCorrectly()
        {
            // Arrange
            var sut = new FileService();

            // Act
            var result = sut.GetMimetype(TestData.DataDir("FileIdentifier/test_ascii.txt"));

            // Assert
            Assert.That(result, Is.EqualTo("text/plain"),
                "FileService should return the correct mimetype for a text file"
            );
        }
Ejemplo n.º 7
0
        public void GetsTarGzMimeCorrectly()
        {
            // Arrange
            var sut = new FileService();

            // Act
            var result = sut.GetMimetype(TestData.DataDir("FileIdentifier/test_targz.tar.gz"));

            // Assert
            Assert.That(result, Is.EqualTo("application/x-compressed-tar"),
                "FileService should return the correct mimetype for a tar.gz file."
            );
        }
Ejemplo n.º 8
0
        public void GetsZipMimeCorrectly()
        {
            // Arrange
            var sut = new FileService();

            // Act
            var result = sut.GetMimetype(TestData.DogeCoinFlagZip());

            // Assert
            Assert.That(result, Is.EqualTo("application/zip"),
                "FileService should return the correct mimetype for a zipfile."
            );
        }
Ejemplo n.º 9
0
        public void GetsUnknownMimeCorrectly()
        {
            // Arrange
            var sut = new FileService();
            string random_bin = TestData.DataDir("FileIdentifier/random.bin");
            Assert.IsTrue(File.Exists(random_bin));

            // Act
            var result = sut.GetMimetype(random_bin);

            // Assert
            Assert.That(result, Is.EqualTo("application/octet-stream"),
                "FileService should return 'application/octet-stream' for all other file types."
            );
        }