コード例 #1
0
        public void ExtractAndIdentifyTarFiles()
        {
            var    uuid = "d1c9102e-7106-4355-a4a4-0c9b7f9b3541";
            string pathToExtractedFiles = $"c:\\temp\\{uuid}";
            var    extractorMock        = new Mock <IArchiveExtractor>();

            extractorMock.Setup(e => e.Extract(It.IsAny <string>())).Returns(new ArchiveExtraction(uuid, pathToExtractedFiles));

            var archiveType    = ArchiveType.Noark5;
            var identifierMock = new Mock <IArchiveIdentifier>();

            identifierMock.Setup(i => i.Identify(It.IsAny <string>())).Returns(archiveType);

            var archiveExtraction = new ArchiveExtractionReader(extractorMock.Object, identifierMock.Object).ReadFromFile("archive.tar", "info.xml");

            archiveExtraction.Uuid.Should().Be(uuid);
            archiveExtraction.WorkingDirectory.Should().Be(pathToExtractedFiles);
            archiveExtraction.ArchiveType.Should().Be(archiveType);
        }
コード例 #2
0
        private void btnStart_Click(object sender, RoutedEventArgs e)
        {
            txtResult.Text = "Laster inn arkiv....";

            var builder = new ContainerBuilder();

            builder.RegisterModule(new ArkadeAutofacModule());
            var container = builder.Build();

            using (container.BeginLifetimeScope())
            {
                ArchiveExtractionReader archiveExtractionReader = container.Resolve <ArchiveExtractionReader>();

                ArchiveExtraction archiveExtraction = archiveExtractionReader.ReadFromFile(txtArchiveFileName.Text, txtMetadataFileName.Text);

                txtResult.Text = $"Uuid: {archiveExtraction.Uuid}\n" +
                                 $"WorkingDirectory: {archiveExtraction.WorkingDirectory}\n" +
                                 $"ArchiveType: {archiveExtraction.ArchiveType}";
            }
        }
コード例 #3
0
        static void Main(string[] args)
        {
            string archiveFileName  = @"C:\Dropbox (Arkitektum AS)\Arkade5 - Testdata\Testdata\n5-aclie-in-wonderland-komplett.tar";
            string metadataFileName = @"C:\dev\src\arkade\src\Arkivverket.Arkade.Test\TestData\noark5-info.xml";

            if (args.Length != 0)
            {
                archiveFileName  = args[0];
                metadataFileName = args[1];
            }

            var builder = new ContainerBuilder();

            builder.RegisterModule(new ArkadeAutofacModule());
            var container = builder.Build();

            Log.Logger = new LoggerConfiguration()
                         .MinimumLevel.Debug()
                         .WriteTo.ColoredConsole(outputTemplate: "{Timestamp:yyyy-MM-ddTHH:mm:ss.fff} {SourceContext} [{Level}] {Message}{NewLine}{Exception}")
                         .CreateLogger();

            using (container.BeginLifetimeScope())
            {
                ArchiveExtractionReader archiveExtractionReader = container.Resolve <ArchiveExtractionReader>();

                ArchiveExtraction archiveExtraction = archiveExtractionReader.ReadFromFile(archiveFileName, metadataFileName);
                Console.WriteLine($"Reading from archive: {archiveFileName}");
                Console.WriteLine($"Uuid: {archiveExtraction.Uuid}");
                Console.WriteLine($"WorkingDirectory: {archiveExtraction.WorkingDirectory}");
                Console.WriteLine($"ArchiveType: {archiveExtraction.ArchiveType}");


                List <TestResults> testResults = new TestEngine().RunTestsOnArchive(archiveExtraction);
                foreach (TestResults results in testResults)
                {
                    Console.WriteLine($"Test: {results.TestName}, duration={results.TestDuration}, success={results.IsSuccess()}");
                }
            }
        }