diff --git a/.gitattributes b/.gitattributes index 1ff0c4230..613790fc0 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,6 +3,12 @@ ############################################################################### * text=auto +############################################################################### +# Enforce UNIX line endings for specific files +############################################################################### +src/Arkivverket.Arkade.Cli/arkade.sh text eol=lf +src/Arkivverket.Arkade.Cli/README.txt text eol=lf + ############################################################################### # Set default behavior for command prompt diff. # diff --git a/.gitignore b/.gitignore index f1e3d20e0..4a88c046f 100644 --- a/.gitignore +++ b/.gitignore @@ -250,3 +250,6 @@ paket-files/ # JetBrains Rider .idea/ *.sln.iml + +# Local launch settings +launchSettings.json diff --git a/src/Arkivverket.Arkade.Cli/App.config b/src/Arkivverket.Arkade.Cli/App.config deleted file mode 100644 index 20f033941..000000000 --- a/src/Arkivverket.Arkade.Cli/App.config +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/Arkivverket.Arkade.Cli/Arkivverket.Arkade.Cli.csproj b/src/Arkivverket.Arkade.Cli/Arkivverket.Arkade.Cli.csproj index 5c9c3b9d9..a9babf6d3 100644 --- a/src/Arkivverket.Arkade.Cli/Arkivverket.Arkade.Cli.csproj +++ b/src/Arkivverket.Arkade.Cli/Arkivverket.Arkade.Cli.csproj @@ -1,79 +1,50 @@ - - - + + - Debug - AnyCPU - {D0D921D0-7B81-4EDE-A1B7-ED80C6BB368B} Exe - Arkivverket.Arkade.Cli - Arkade - v4.5.2 - 512 - true - - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + netcoreapp2.0;net452 + false + + + + + + + + + PreserveNewest + + + PreserveNewest + + + - - ..\packages\CommandLineParser.1.9.71\lib\net45\CommandLine.dll - - - - ..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll - - - ..\packages\Serilog.2.5.0\lib\net45\Serilog.dll - - - ..\packages\Serilog.Sinks.Console.3.1.1\lib\net45\Serilog.Sinks.Console.dll - - - - ..\packages\System.Console.4.0.0-rc2-24027\lib\net46\System.Console.dll - - - - ..\packages\System.Reflection.TypeExtensions.4.1.0-rc2-24027\lib\net46\System.Reflection.TypeExtensions.dll - - - - + + + + + + - - - - - + + - - + + True + True + OutputStrings.resx + + - - {d4008c3c-61ef-48a4-b333-793476b7104d} - Arkivverket.Arkade - + + ResXFileCodeGenerator + OutputStrings.Designer.cs + - - \ No newline at end of file + + diff --git a/src/Arkivverket.Arkade.Cli/CommandLineOptions.cs b/src/Arkivverket.Arkade.Cli/CommandLineOptions.cs index d714329f7..9f7f59e36 100644 --- a/src/Arkivverket.Arkade.Cli/CommandLineOptions.cs +++ b/src/Arkivverket.Arkade.Cli/CommandLineOptions.cs @@ -1,4 +1,4 @@ -using Arkivverket.Arkade.Core; +using System; using CommandLine; using CommandLine.Text; @@ -24,17 +24,26 @@ internal class CommandLineOptions [Option('p', "processing-area", HelpText = "Directory to place temporary files and logs.")] public string ProcessingArea { get; set; } - [Option('o', "output-directory", HelpText = "Directory to put created packages.")] - public string PackageOutputDirectory { get; set; } + [Option('o', "output-directory", HelpText = "Directory to place created package and test report.")] + public string OutputDirectory { get; set; } - [Option('v', "verbose", HelpText = "Print details during execution.")] - public bool Verbose { get; set; } - - [HelpOption] - public string GetUsage() + //[Option('v', "verbose", HelpText = "Print details during execution.")] + //public bool Verbose { get; set; } + + internal string GetUsage() { - return HelpText.AutoBuild(this, current => HelpText.DefaultParsingErrorsHandler(this, current)); + var result = new Parser().ParseArguments("".Split()); + + var helptext = HelpText.AutoBuild(result, help => + { + help.AddOptions(result); + return help; + }, example => + { + return example; + }); + + return helptext; } - } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Cli/CommandLineRunner.cs b/src/Arkivverket.Arkade.Cli/CommandLineRunner.cs index 9885bcb6c..257387f51 100644 --- a/src/Arkivverket.Arkade.Cli/CommandLineRunner.cs +++ b/src/Arkivverket.Arkade.Cli/CommandLineRunner.cs @@ -15,8 +15,6 @@ public void Run(CommandLineOptions options) { try { - ArkadeProcessingArea.Establish(options.ProcessingArea); - var arkade = new Core.Arkade(); var fileInfo = new FileInfo(options.Archive); @@ -34,7 +32,9 @@ public void Run(CommandLineOptions options) testSession.ArchiveMetadata = archiveMetadata; - arkade.CreatePackage(testSession, PackageType.SubmissionInformationPackage, options.PackageOutputDirectory); + arkade.CreatePackage(testSession, PackageType.SubmissionInformationPackage, options.OutputDirectory); + + arkade.SaveReport(testSession, PrepareTestReportFile(options, testSession)); } finally { @@ -61,5 +61,13 @@ private static TestSession CreateTestSession(CommandLineOptions options, Core.Ar } return testSession; } + + private static FileInfo PrepareTestReportFile(CommandLineOptions options, TestSession testSession) + { + string testReportFileName = string.Format(OutputStrings.TestReportFileName, testSession.Archive.Uuid); + string testReportFullPath = Path.Combine(options.OutputDirectory, testReportFileName); + + return new FileInfo(testReportFullPath); + } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Cli/OutputStrings.Designer.cs b/src/Arkivverket.Arkade.Cli/OutputStrings.Designer.cs new file mode 100644 index 000000000..ddcfc688b --- /dev/null +++ b/src/Arkivverket.Arkade.Cli/OutputStrings.Designer.cs @@ -0,0 +1,90 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Arkivverket.Arkade.Cli { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class OutputStrings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal OutputStrings() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Arkivverket.Arkade.Cli.OutputStrings", typeof(OutputStrings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to [{Level}] {Message}{NewLine}{Exception}. + /// + internal static string SystemLogOutputTemplateForConsole { + get { + return ResourceManager.GetString("SystemLogOutputTemplateForConsole", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to {Timestamp:yyyy-MM-ddTHH:mm:ss.fff} [{Level}] {SourceContext} {Message}{NewLine}{Exception}. + /// + internal static string SystemLogOutputTemplateForFile { + get { + return ResourceManager.GetString("SystemLogOutputTemplateForFile", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Arkaderapport-{0}.html. + /// + internal static string TestReportFileName { + get { + return ResourceManager.GetString("TestReportFileName", resourceCulture); + } + } + } +} diff --git a/src/Arkivverket.Arkade.Cli/OutputStrings.resx b/src/Arkivverket.Arkade.Cli/OutputStrings.resx new file mode 100644 index 000000000..315e65f0a --- /dev/null +++ b/src/Arkivverket.Arkade.Cli/OutputStrings.resx @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + [{Level}] {Message}{NewLine}{Exception} + + + {Timestamp:yyyy-MM-ddTHH:mm:ss.fff} [{Level}] {SourceContext} {Message}{NewLine}{Exception} + + + Arkaderapport-{0}.html + {0} = Archive.Uuid + + \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Cli/Program.cs b/src/Arkivverket.Arkade.Cli/Program.cs index 094fde958..a7d6c199a 100644 --- a/src/Arkivverket.Arkade.Cli/Program.cs +++ b/src/Arkivverket.Arkade.Cli/Program.cs @@ -1,4 +1,8 @@ using System; +using System.Collections.Generic; +using System.IO; +using Arkivverket.Arkade.Core; +using Arkivverket.Arkade.Util; using CommandLine; using Serilog; @@ -8,36 +12,42 @@ internal class Program { private static void Main(string[] args) { - Log.Logger = new LoggerConfiguration() - .MinimumLevel.Information() - .WriteTo.Console(outputTemplate: "{Timestamp:HH:mm:ss.fff} {SourceContext} [{Level}] {Message}{NewLine}{Exception}") - .CreateLogger(); + ArkadeProcessingArea.SetupTemporaryLogsDirectory(); - var options = new CommandLineOptions(); - try - { - Parser.Default.ParseArgumentsStrict(args, options); + ConfigureLogging(); // Configured with temporary log directory + + Parser.Default.ParseArguments(args) + .WithParsed(RunOptionsAndReturnExitCode) + .WithNotParsed(HandleParseError); + } - if (ValidArgumentsForMetadataCreation(options)) + private static void RunOptionsAndReturnExitCode(CommandLineOptions options) + { + ArkadeProcessingArea.Establish(options.ProcessingArea); // Removes temporary log directory + + ConfigureLogging(); // Re-configured with log directory within processing area + + if (ValidArgumentsForMetadataCreation(options)) + { + new MetadataExampleGenerator().Generate(options.GenerateMetadataExample); + } + else + { + if (ValidArgumentsForTesting(options)) { - new MetadataExampleGenerator().Generate(options.GenerateMetadataExample); + new CommandLineRunner().Run(options); } else { - if (ValidArgumentsForTesting(options)) - { - new CommandLineRunner().Run(options); - } - else - { - Console.WriteLine(options.GetUsage()); - } + Console.WriteLine(options.GetUsage()); } } - catch (Exception e) - { - Log.Error(e, "An error occured: {exceptionMessage}", e.Message); - } + } + + private static void HandleParseError(IEnumerable errors) + { + foreach (Error error in errors) + Log.Error(error.ToString()); } private static bool ValidArgumentsForMetadataCreation(CommandLineOptions options) @@ -51,7 +61,21 @@ private static bool ValidArgumentsForTesting(CommandLineOptions options) && !string.IsNullOrWhiteSpace(options.ArchiveType) && !string.IsNullOrWhiteSpace(options.MetadataFile) && !string.IsNullOrWhiteSpace(options.ProcessingArea) - && !string.IsNullOrWhiteSpace(options.PackageOutputDirectory); + && !string.IsNullOrWhiteSpace(options.OutputDirectory); + } + + private static void ConfigureLogging() + { + string systemLogFilePath = Path.Combine( + ArkadeProcessingArea.LogsDirectory.ToString(), + ArkadeConstants.SystemLogFileNameFormat + ); + + Log.Logger = new LoggerConfiguration() + .MinimumLevel.Information() + .WriteTo.Console(outputTemplate: OutputStrings.SystemLogOutputTemplateForConsole) + .WriteTo.RollingFile(systemLogFilePath, outputTemplate: OutputStrings.SystemLogOutputTemplateForFile) + .CreateLogger(); } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Cli/README.txt b/src/Arkivverket.Arkade.Cli/README.txt new file mode 100644 index 000000000..f75f78dc4 --- /dev/null +++ b/src/Arkivverket.Arkade.Cli/README.txt @@ -0,0 +1,14 @@ + +-- ARKADE COMMAND LINE INTERFACE -- + +In order to run Arkade CLI on macOS/Linux the .NET Core framework is required. + +Download and install the runtime for your platform: + +macOS: https://www.microsoft.com/net/download/macos/run +Linux: https://www.microsoft.com/net/download/linux/run + +To run Arkade CLI, make arkade.sh executable (chmod +x arkade.sh) and enter ./arkade.sh in your terminal. +Running arkade.sh --help (or without any parameters) will display available options. + +To run Arkade from anywhere in your file system, add the ArkadeCli directory to your PATH environment variable. diff --git a/src/Arkivverket.Arkade.Cli/arkade.sh b/src/Arkivverket.Arkade.Cli/arkade.sh new file mode 100644 index 000000000..984f1b880 --- /dev/null +++ b/src/Arkivverket.Arkade.Cli/arkade.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +dotnet Arkivverket.Arkade.Cli.dll $@ + +# See README.txt for info about running Arkade CLI diff --git a/src/Arkivverket.Arkade.Cli/packages.config b/src/Arkivverket.Arkade.Cli/packages.config deleted file mode 100644 index 3852f2474..000000000 --- a/src/Arkivverket.Arkade.Cli/packages.config +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Test/Arkivverket.Arkade.Test.csproj b/src/Arkivverket.Arkade.Test/Arkivverket.Arkade.Test.csproj index dc4857750..ed2da473a 100644 --- a/src/Arkivverket.Arkade.Test/Arkivverket.Arkade.Test.csproj +++ b/src/Arkivverket.Arkade.Test/Arkivverket.Arkade.Test.csproj @@ -1,625 +1,403 @@ - - - + + - Debug - AnyCPU - {24B2B89B-9399-4FBA-9C48-B1DBBBFE6ED7} + netcoreapp2.0 + + false + + + Library - Properties - Arkivverket.Arkade.Test - Arkivverket.Arkade.Test - v4.5.2 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 10.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages - False - UnitTest - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 + + + - - ..\packages\Castle.Core.3.3.3\lib\net45\Castle.Core.dll - True - - - ..\packages\FluentAssertions.4.11.0\lib\net45\FluentAssertions.dll - True - - - ..\packages\FluentAssertions.4.11.0\lib\net45\FluentAssertions.Core.dll - True - - - ..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll - True - - - False - - - ..\packages\Moq.4.5.13\lib\net45\Moq.dll - True - - - - - ..\packages\Prism.Core.6.2.0\lib\net45\Prism.dll - True - - - ..\packages\Serilog.2.3.0\lib\net45\Serilog.dll - True - - - ..\packages\Serilog.Sinks.Observable.2.0.1\lib\net45\Serilog.Sinks.Observable.dll - True - - - - - - ..\packages\System.Reactive.Core.3.0.0\lib\net45\System.Reactive.Core.dll - True - - - ..\packages\System.Reactive.Interfaces.3.0.0\lib\net45\System.Reactive.Interfaces.dll - True - - - ..\packages\System.Reactive.Linq.3.0.0\lib\net45\System.Reactive.Linq.dll - True - - - ..\packages\System.Reactive.PlatformServices.3.0.0\lib\net45\System.Reactive.PlatformServices.dll - True - - - ..\packages\System.Reactive.Windows.Threading.3.0.0\lib\net45\System.Reactive.Windows.Threading.dll - True - - - - - - - ..\packages\xunit.abstractions.2.0.0\lib\net35\xunit.abstractions.dll - True - - - ..\packages\xunit.assert.2.1.0\lib\dotnet\xunit.assert.dll - True - - - ..\packages\xunit.extensibility.core.2.1.0\lib\dotnet\xunit.core.dll - True - - - ..\packages\xunit.extensibility.execution.2.1.0\lib\net45\xunit.execution.desktop.dll - True - + - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + PreserveNewest + + - - - Designer - - - Always + + + + + + + + + + + + + + + + + + + + + + + PreserveNewest - - Always + + PreserveNewest - - Always + + PreserveNewest - - - - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - + PreserveNewest - - Designer + PreserveNewest - - Designer + PreserveNewest - + PreserveNewest - + PreserveNewest - - Designer + PreserveNewest - - Always + + PreserveNewest - - Always + + PreserveNewest - - Always + + PreserveNewest Always + + PreserveNewest + + + PreserveNewest + Always Always - - Always + + PreserveNewest + + + PreserveNewest Always + + PreserveNewest + Always - - Always + + PreserveNewest - - Always + + PreserveNewest - - Always + + PreserveNewest - - Always + + PreserveNewest - - Always + + PreserveNewest - - Designer + PreserveNewest - - Designer + PreserveNewest - + PreserveNewest - + PreserveNewest - - Designer + PreserveNewest - - Designer - Always + + PreserveNewest - - Designer - Always + + PreserveNewest - - Designer - Always + + PreserveNewest - - Designer - Always + + PreserveNewest - - Designer + PreserveNewest - - Designer + PreserveNewest - - Always + + PreserveNewest - - Always + + PreserveNewest - - - - - - - Always - - - Always - - - Always - - - Always - - - - - + PreserveNewest - - - - - - + + PreserveNewest - - - - - Designer + + PreserveNewest - - + + PreserveNewest - - + + PreserveNewest - Designer - - + + PreserveNewest - - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - + + PreserveNewest - - + + PreserveNewest - - - Always - - - Always - - - Always - - - Always - Designer - - - Always - - - Always - - - Always - - - Always - - - Always - Designer - - - Always - - - Always - - - Always - - - Always - - + + PreserveNewest - - + + PreserveNewest - - - Always - - - Always - - - Always - - - Always - - - - - + + PreserveNewest - - - - - {D4008C3C-61EF-48A4-B333-793476B7104D} - Arkivverket.Arkade - - - - - - + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + - - - - - False - - - False - - - False - - - False - - - - - - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - - - - \ No newline at end of file + + diff --git a/src/Arkivverket.Arkade.Test/Core/Addml/Definitions/AddmlDefinitionParserTest.cs b/src/Arkivverket.Arkade.Test/Core/Addml/Definitions/AddmlDefinitionParserTest.cs index 8a3d1b28a..f8a4d6e54 100644 --- a/src/Arkivverket.Arkade.Test/Core/Addml/Definitions/AddmlDefinitionParserTest.cs +++ b/src/Arkivverket.Arkade.Test/Core/Addml/Definitions/AddmlDefinitionParserTest.cs @@ -1,6 +1,6 @@ -using System; using System.Collections.Generic; using System.IO; +using System.Reflection; using Arkivverket.Arkade.Core; using Arkivverket.Arkade.Core.Addml; using Arkivverket.Arkade.Core.Addml.Definitions; @@ -15,7 +15,7 @@ public class AddmlDefinitionParserTest public AddmlDefinitionParserTest() { var workingDirectory = - new WorkingDirectory(new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "\\..\\..\\TestData\\noark3\\")); + new WorkingDirectory(new DirectoryInfo(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\TestData\\noark3")); AddmlInfo addml = AddmlUtil.ReadFromFile(workingDirectory.Root().WithFile("noark_3_arkivuttrekk_med_prosesser.xml").FullName); _parser = new AddmlDefinitionParser(addml, workingDirectory, new StatusEventHandler()); } diff --git a/src/Arkivverket.Arkade.Test/Core/Addml/DelimiterFileFormatReaderTest.cs b/src/Arkivverket.Arkade.Test/Core/Addml/DelimiterFileFormatReaderTest.cs index 99422a3d2..990a81068 100644 --- a/src/Arkivverket.Arkade.Test/Core/Addml/DelimiterFileFormatReaderTest.cs +++ b/src/Arkivverket.Arkade.Test/Core/Addml/DelimiterFileFormatReaderTest.cs @@ -127,7 +127,7 @@ public void SemicolonsWithinQuotesAreNotInterpretedAsFieldDelimiters() recordReader.MoveNext(); // AA;"B;B";CC - actionOfGettingCurrent.ShouldNotThrow(); + actionOfGettingCurrent.Should().NotThrow(); recordReader.Current?.Fields?.Count.Should().Be(3); } } diff --git a/src/Arkivverket.Arkade.Test/Core/Addml/FlatFileReaderTest.cs b/src/Arkivverket.Arkade.Test/Core/Addml/FlatFileReaderTest.cs index a68430c0b..1e9541f3c 100644 --- a/src/Arkivverket.Arkade.Test/Core/Addml/FlatFileReaderTest.cs +++ b/src/Arkivverket.Arkade.Test/Core/Addml/FlatFileReaderTest.cs @@ -1,6 +1,6 @@ -using System; using System.IO; using System.Linq; +using System.Reflection; using Arkivverket.Arkade.Core; using Arkivverket.Arkade.Core.Addml; using Arkivverket.Arkade.Core.Addml.Definitions; @@ -169,7 +169,7 @@ private static void VerifyNotat(Record record) private FlatFile GetDokDat() { - var workingDirectory = new WorkingDirectory(ArkadeProcessingArea.WorkDirectory, new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "\\..\\..\\TestData\\noark3\\")); + var workingDirectory = new WorkingDirectory(ArkadeProcessingArea.WorkDirectory, new DirectoryInfo(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\TestData\\noark3")); AddmlInfo addml = AddmlUtil.ReadFromFile(workingDirectory.Content().WithFile("noark_3_arkivuttrekk_med_prosesser.xml").FullName); AddmlDefinition addmlDefinition = new AddmlDefinitionParser(addml, workingDirectory, new StatusEventHandler()).GetAddmlDefinition(); diff --git a/src/Arkivverket.Arkade.Test/Core/Addml/Jegerreg98Test.cs b/src/Arkivverket.Arkade.Test/Core/Addml/Jegerreg98Test.cs index d22704796..f34e0355d 100644 --- a/src/Arkivverket.Arkade.Test/Core/Addml/Jegerreg98Test.cs +++ b/src/Arkivverket.Arkade.Test/Core/Addml/Jegerreg98Test.cs @@ -1,7 +1,7 @@ -using System; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Reflection; using Arkivverket.Arkade.Core; using Arkivverket.Arkade.Core.Addml; using Arkivverket.Arkade.Core.Addml.Definitions; @@ -18,7 +18,7 @@ public class Jegerreg98Test [Fact] public void ShouldParseJegerreg98ArkivuttrekkXml() { - var externalContentDirectory = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "\\..\\..\\TestData\\jegerreg-98-dos\\"); + var externalContentDirectory = new DirectoryInfo(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\TestData\\jegerreg-98-dos"); var workingDirectory = new WorkingDirectory(ArkadeProcessingArea.WorkDirectory, externalContentDirectory); AddmlInfo addml = AddmlUtil.ReadFromFile(workingDirectory.Content().WithFile("arkivuttrekk.xml").FullName); diff --git a/src/Arkivverket.Arkade.Test/Core/Addml/Noark4Test.cs b/src/Arkivverket.Arkade.Test/Core/Addml/Noark4Test.cs index 2ce924ca2..01f3d7ca0 100644 --- a/src/Arkivverket.Arkade.Test/Core/Addml/Noark4Test.cs +++ b/src/Arkivverket.Arkade.Test/Core/Addml/Noark4Test.cs @@ -1,6 +1,6 @@ -using System; using System.Collections.Generic; using System.IO; +using System.Reflection; using Arkivverket.Arkade.Core; using Arkivverket.Arkade.Core.Addml; using Arkivverket.Arkade.Core.Addml.Definitions; @@ -23,7 +23,7 @@ public void ShouldParseNoark4ConvertedArkivuttrekkXml() // File is converted from NOARKIH.XML format - var externalContentDirectory = new DirectoryInfo(AppDomain.CurrentDomain.BaseDirectory + "\\..\\..\\TestData\\noark4\\"); + var externalContentDirectory = new DirectoryInfo(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\TestData\\noark4"); var workingDirectory = new WorkingDirectory(ArkadeProcessingArea.WorkDirectory, externalContentDirectory); AddmlInfo addml = AddmlUtil.ReadFromFile(workingDirectory.Content().WithFile("addml.xml").FullName); diff --git a/src/Arkivverket.Arkade.Test/Core/Addml/Processes/ControlChecksumTest.cs b/src/Arkivverket.Arkade.Test/Core/Addml/Processes/ControlChecksumTest.cs index 21da98b60..10fb63578 100644 --- a/src/Arkivverket.Arkade.Test/Core/Addml/Processes/ControlChecksumTest.cs +++ b/src/Arkivverket.Arkade.Test/Core/Addml/Processes/ControlChecksumTest.cs @@ -15,7 +15,7 @@ public class ControlChecksumTest [Fact] public void ShouldReportNotReportCorrectChecksumValue() { - string expectedSha256Hash = "3b67b886241a7d63798ea0e63a70cbca6c2109ab3962b2a5815cbadcb90cbb08".ToUpper(); + string expectedSha256Hash = "3b67b886241a7d63798ea0e63a70cbca6c2109ab3962b2a5815cbadcb90cbb08"; AddmlFlatFileDefinition flatFileDefinition = new AddmlFlatFileDefinitionBuilder() .WithChecksum(new Checksum("SHA-256", expectedSha256Hash)) @@ -53,7 +53,9 @@ public void ShouldReportInvalidChecksumValue() testRun.IsSuccess().Should().BeFalse(); testRun.Results.Count.Should().Be(1); testRun.Results[0].Location.ToString().Should().Be(flatFileDefinition.GetIndex().ToString()); - testRun.Results[0].Message.Should().Be("Forventet checksum 'invalid'. Var '" + expectedSha256Hash + "'."); + testRun.Results[0].Message.Should() + .Contain("Forventet sjekksum: invalid").And + .Contain("Aktuell sjekksum: " + expectedSha256Hash); } [Fact] @@ -76,7 +78,7 @@ public void ShouldReportInvalidChecksumAlgorithm() testRun.IsSuccess().Should().BeFalse(); testRun.Results.Count.Should().Be(1); testRun.Results[0].Location.ToString().Should().Be(flatFileDefinition.GetIndex().ToString()); - testRun.Results[0].Message.Should().Be("Ukjent algoritme 'invalid hash'"); + testRun.Results[0].Message.Should().Be("Ukjent sjekksum-algoritme: invalid hash"); } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Test/Core/EncodingsTest.cs b/src/Arkivverket.Arkade.Test/Core/EncodingsTest.cs index 607eda921..5a2d806a0 100644 --- a/src/Arkivverket.Arkade.Test/Core/EncodingsTest.cs +++ b/src/Arkivverket.Arkade.Test/Core/EncodingsTest.cs @@ -11,7 +11,6 @@ public void ShouldGetEncodings() { Encodings.UTF8.Should().NotBeNull(); Encodings.ISO_8859_1.Should().NotBeNull(); - Encodings.ISO_8859_4.Should().NotBeNull(); } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Test/Core/InformationPackageCreatorTest.cs b/src/Arkivverket.Arkade.Test/Core/InformationPackageCreatorTest.cs index bacffc777..5a328e44a 100644 --- a/src/Arkivverket.Arkade.Test/Core/InformationPackageCreatorTest.cs +++ b/src/Arkivverket.Arkade.Test/Core/InformationPackageCreatorTest.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Reflection; using Arkivverket.Arkade.Core; using Arkivverket.Arkade.Test.Metadata; using FluentAssertions; @@ -14,7 +15,7 @@ namespace Arkivverket.Arkade.Test.Core /// public class InformationPackageCreatorTest { - private readonly string _workingDirectory = AppDomain.CurrentDomain.BaseDirectory + "\\..\\..\\TestData\\package-creation\\"; + private readonly string _workingDirectory = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\TestData\\package-creation"); private readonly Uuid _uuid = Uuid.Random(); private readonly ArchiveMetadata _archiveMetadata = MetsCreatorTest.FakeArchiveMetadata(); private readonly string _outputDirectory = AppDomain.CurrentDomain.BaseDirectory; diff --git a/src/Arkivverket.Arkade.Test/Integration/FiskermanntalletAnonIntegrationTest.cs b/src/Arkivverket.Arkade.Test/Integration/FiskermanntalletAnonIntegrationTest.cs index 554759432..6dfda5301 100644 --- a/src/Arkivverket.Arkade.Test/Integration/FiskermanntalletAnonIntegrationTest.cs +++ b/src/Arkivverket.Arkade.Test/Integration/FiskermanntalletAnonIntegrationTest.cs @@ -30,7 +30,7 @@ public void ShouldRunTestsOnFiskermanntallet() } - //[Fact] + [Fact(Skip = "Was commented out ...")] public void AnonymizeFiskermanntallet() { StreamWriter file = new StreamWriter(@"C:\tmp\file.txt", false, Encodings.ISO_8859_1); diff --git a/src/Arkivverket.Arkade.Test/Integration/Jegerregisteret98IntegrationTest.cs b/src/Arkivverket.Arkade.Test/Integration/Jegerregisteret98IntegrationTest.cs index f8057104f..e8217d27e 100644 --- a/src/Arkivverket.Arkade.Test/Integration/Jegerregisteret98IntegrationTest.cs +++ b/src/Arkivverket.Arkade.Test/Integration/Jegerregisteret98IntegrationTest.cs @@ -2,7 +2,6 @@ using System; using System.IO; using System.Linq; -using System.Windows.Media.Animation; using Arkivverket.Arkade.Core; using Arkivverket.Arkade.Core.Addml.Processes; using FluentAssertions; diff --git a/src/Arkivverket.Arkade.Test/Integration/Noark3IntegrationTest.cs b/src/Arkivverket.Arkade.Test/Integration/Noark3IntegrationTest.cs index a9ff737c4..4b92681dd 100644 --- a/src/Arkivverket.Arkade.Test/Integration/Noark3IntegrationTest.cs +++ b/src/Arkivverket.Arkade.Test/Integration/Noark3IntegrationTest.cs @@ -2,6 +2,7 @@ using System; using System.IO; using System.Linq; +using System.Reflection; using Arkivverket.Arkade.Core; using Arkivverket.Arkade.Core.Addml.Processes; using FluentAssertions; @@ -17,7 +18,7 @@ public void Test1() ArkadeProcessingArea.Establish(Path.Combine(Environment.CurrentDirectory, "TestData")); ArchiveFile archive1 = - ArchiveFile.Read("..\\..\\TestData\\tar\\Noark3-eksempel-1\\c3db9d4e-720c-4f75-bfb6-de90231dc44c.tar", ArchiveType.Noark3); + ArchiveFile.Read(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\TestData\\tar\\Noark3-eksempel-1\\c3db9d4e-720c-4f75-bfb6-de90231dc44c.tar", ArchiveType.Noark3); Arkade.Core.Arkade arkade = new Arkade.Core.Arkade(); TestSession testSesson = arkade.RunTests(archive1); diff --git a/src/Arkivverket.Arkade.Test/Metadata/DiasMetsCreatorTest.cs b/src/Arkivverket.Arkade.Test/Metadata/DiasMetsCreatorTest.cs index ee931a2f1..60dc93768 100644 --- a/src/Arkivverket.Arkade.Test/Metadata/DiasMetsCreatorTest.cs +++ b/src/Arkivverket.Arkade.Test/Metadata/DiasMetsCreatorTest.cs @@ -1,4 +1,4 @@ -using System; +using System.Reflection; using System.IO; using Arkivverket.Arkade.Core; using Arkivverket.Arkade.Metadata; @@ -43,7 +43,7 @@ private string CreateMetsFile() private string CreateMetsFile(PackageType packageType) { - string workingDirectory = $"{AppDomain.CurrentDomain.BaseDirectory}\\TestData\\Metadata\\DiasMetsCreator"; + string workingDirectory = $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\TestData\\Metadata\\DiasMetsCreator"; Archive archive = new ArchiveBuilder() .WithArchiveType(ArchiveType.Noark5) diff --git a/src/Arkivverket.Arkade.Test/Misc/TestIdIntegrityTest.cs b/src/Arkivverket.Arkade.Test/Misc/TestIdIntegrityTest.cs index c5a3a9876..a331664b1 100644 --- a/src/Arkivverket.Arkade.Test/Misc/TestIdIntegrityTest.cs +++ b/src/Arkivverket.Arkade.Test/Misc/TestIdIntegrityTest.cs @@ -31,7 +31,7 @@ private static IEnumerable GetTests() { var tests = new List(); - var noark5TestProvider = new Noark5TestProvider(Mock.Of()); + var noark5TestProvider = new Noark5TestProvider(); Archive archive = TestUtil.CreateArchiveExtraction(Path.Combine("TestData", "Noark5", "Small")); diff --git a/src/Arkivverket.Arkade.Test/Properties/AssemblyInfo.cs b/src/Arkivverket.Arkade.Test/Properties/AssemblyInfo.cs deleted file mode 100644 index 2c5588c18..000000000 --- a/src/Arkivverket.Arkade.Test/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Arkivverket.Arkade.Test")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("Arkivverket.Arkade.Test")] -[assembly: AssemblyCopyright("Copyright © 2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("24b2b89b-9399-4fba-9c48-b1dbbbfe6ed7")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// TeamCity will set the version numbers -[assembly: AssemblyVersion("0.0.0.0")] -[assembly: AssemblyFileVersion("0.0.0.0")] diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/ArchiveContentMockReader.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/ArchiveContentMockReader.cs deleted file mode 100644 index dc96090e1..000000000 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/ArchiveContentMockReader.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.IO; -using Arkivverket.Arkade.Core; - -namespace Arkivverket.Arkade.Test.Tests.Noark5 -{ - public class ArchiveContentMockReader : IArchiveContentReader - { - private readonly Stream _contentStream; - private readonly Stream _structureStream; - private readonly Stream _contentSchemaStream; - private readonly Stream _structureSchemaStream; - private readonly Stream _metadataCatalogSchemaStream; - - public ArchiveContentMockReader(Stream contentStream, Stream structureStream) - { - _contentStream = contentStream; - _structureStream = structureStream; - } - public ArchiveContentMockReader(Stream contentStream, Stream structureStream, Stream contentSchemaStream, Stream structureSchemaStream, Stream metadataCatalogSchemaStream) - { - _contentStream = contentStream; - _structureStream = structureStream; - _contentSchemaStream = contentSchemaStream; - _structureSchemaStream = structureSchemaStream; - _metadataCatalogSchemaStream = metadataCatalogSchemaStream; - } - - public Stream GetContentAsStream(Archive archiveExtraction) - { - return _contentStream; - } - - public Stream GetStructureContentAsStream(Archive archive) - { - return _structureStream; - } - - public Stream GetContentDescriptionXmlSchemaAsStream(Archive archive) - { - return _contentSchemaStream; - } - - public Stream GetStructureDescriptionXmlSchemaAsStream(Archive archive) - { - return _structureSchemaStream; - } - - public Stream GetMetadataCatalogXmlSchemaAsStream(Archive archive) - { - return _metadataCatalogSchemaStream; - } - } -} diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/FirstAndLastRegistrationCreationDatesTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/FirstAndLastRegistrationCreationDatesTest.cs index 468c9fbab..fabec7211 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/FirstAndLastRegistrationCreationDatesTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/FirstAndLastRegistrationCreationDatesTest.cs @@ -38,13 +38,13 @@ public void ShouldFindValidAndInvalidCreationDatesInDifferentArchiveParts() testRun.Results.Should().Contain(r => r.Message.Equals("Antall registreringer funnet: 4")); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_1 - Første registrering: Opprettet 18.10.1863")); + r.Message.Equals("Arkivdel (systemID) someSystemId_1 - Første registrering: Opprettet 18.10.1863")); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_1 - Siste registrering: Opprettet 18.10.1863")); + r.Message.Equals("Arkivdel (systemID) someSystemId_1 - Siste registrering: Opprettet 18.10.1863")); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_2 - Første registrering: Opprettet 18.10.1864")); + r.Message.Equals("Arkivdel (systemID) someSystemId_2 - Første registrering: Opprettet 18.10.1864")); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_2 - Siste registrering: Opprettet 18.10.1865")); + r.Message.Equals("Arkivdel (systemID) someSystemId_2 - Siste registrering: Opprettet 18.10.1865")); testRun.Results.Should().Contain(r => r.Message.Equals("Antall ugyldige datoer for registreringsopprettelse funnet: 1")); testRun.Results.Count.Should().Be(6); diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCasePartsTests.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCasePartsTests.cs index df840aded..ff5043e27 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCasePartsTests.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCasePartsTests.cs @@ -60,8 +60,8 @@ public void NumberOfCasePartsIsOnePerArchivePart() TestRun testRun = helper.RunEventsOnTest(new NumberOfCaseParts()); testRun.Results.Should().Contain(r => r.Message.Equals("2")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_1: 1")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_3: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_1: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_3: 1")); } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfClassesInMainClassificationSystemWithoutSubClassesOrFoldersTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfClassesInMainClassificationSystemWithoutSubClassesOrFoldersTest.cs index 5a5f91f45..a6687e98c 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfClassesInMainClassificationSystemWithoutSubClassesOrFoldersTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfClassesInMainClassificationSystemWithoutSubClassesOrFoldersTest.cs @@ -1,7 +1,5 @@ -using System; using System.Linq; using Arkivverket.Arkade.Core; -using Arkivverket.Arkade.Tests; using Arkivverket.Arkade.Tests.Noark5; using FluentAssertions; using Xunit; @@ -11,113 +9,86 @@ namespace Arkivverket.Arkade.Test.Tests.Noark5 public class NumberOfClassesInMainClassificationSystemWithoutSubClassesOrFoldersTest { [Fact] - public void NumberOfClassesWithoutFolderIsZero() + public void NumberOfEmptyClassesIsZero() { - XmlElementHelper helper = new XmlElementHelper().Add("arkiv", - new XmlElementHelper() - .Add("arkivdel", - new XmlElementHelper() - .Add("klassifikasjonssystem", - new XmlElementHelper() - .Add("klasse", - new XmlElementHelper() - .Add("mappe", String.Empty) - ) - ) - ) - ); + XmlElementHelper helper = new XmlElementHelper() + .Add("arkiv", new XmlElementHelper() + .Add("arkivdel", new XmlElementHelper() + .Add("systemID", "someArchivePartSystemId") + .Add("klassifikasjonssystem", new XmlElementHelper() + .Add("klasse", new XmlElementHelper() + .Add("mappe", string.Empty)) + .Add("klasse", new XmlElementHelper() + .Add("registrering", string.Empty)) + .Add("klasse", new XmlElementHelper() + .Add("klasse", new XmlElementHelper() + .Add("mappe", string.Empty)))))); - RunTestWith(helper).Message.Should().Contain("0"); - } + TestRun testRun = + helper.RunEventsOnTest(new NumberOfClassesInMainClassificationSystemWithoutSubClassesFoldersOrRegistrations()); - [Fact] - public void NumberOfClassesWithoutSubClassIsZero() - { - XmlElementHelper helper = new XmlElementHelper().Add("arkiv", - new XmlElementHelper() - .Add("arkivdel", - new XmlElementHelper() - .Add("klassifikasjonssystem", - new XmlElementHelper() - .Add("klasse", - new XmlElementHelper() - .Add("klasse", String.Empty) - ) - ) - ) - ); - - RunTestWith(helper).Message.Should().Contain("0"); + testRun.Results.First().Message.Should().Be("0"); } [Fact] - public void NumberOfClassesWithoutSubClassesIsOne() + public void NumberOfEmptyClassesIsTwo() { - XmlElementHelper helper = new XmlElementHelper().Add("arkiv", - new XmlElementHelper() - .Add("arkivdel", - new XmlElementHelper().Add("klassifikasjonssystem", - new XmlElementHelper() - .Add("klasse", string.Empty) - ) - ) - ); + XmlElementHelper helper = new XmlElementHelper() + .Add("arkiv", new XmlElementHelper() + .Add("arkivdel", new XmlElementHelper() + .Add("systemID", "someArchivePartSystemId") + .Add("klassifikasjonssystem", new XmlElementHelper() + .Add("klasse", new XmlElementHelper() + .Add("klasse", string.Empty)) + .Add("klasse", string.Empty))) + ); - RunTestWith(helper).Message.Should().Contain("1"); + TestRun testRun = + helper.RunEventsOnTest(new NumberOfClassesInMainClassificationSystemWithoutSubClassesFoldersOrRegistrations()); + + testRun.Results.First().Message.Should().Be("2"); } [Fact] - public void NumberOfClassesWithoutSubClassIsTwo() + public void NumberOfEmptyClassesIsTwoInTwoDifferentArchiveparts() { - XmlElementHelper helper = new XmlElementHelper().Add("arkiv", - new XmlElementHelper() - .Add("arkivdel", - new XmlElementHelper() - .Add("klassifikasjonssystem", - new XmlElementHelper() - .Add("klasse", string.Empty) - .Add("klasse", - new XmlElementHelper() - .Add("klasse", - new XmlElementHelper()) - .Add("mappe", string.Empty) - ) - .Add("klasse", string.Empty) - ) - ) - ); + XmlElementHelper helper = new XmlElementHelper() + .Add("arkiv", new XmlElementHelper() + .Add("arkivdel", new XmlElementHelper() + .Add("systemID", "someArchivePartSystemId_1") + .Add("klassifikasjonssystem", new XmlElementHelper() + .Add("klasse", string.Empty))) + .Add("arkivdel", new XmlElementHelper() + .Add("systemID", "someArchivePartSystemId_2") + .Add("klassifikasjonssystem", new XmlElementHelper() + .Add("klasse", string.Empty)))); + + TestRun testRun = + helper.RunEventsOnTest(new NumberOfClassesInMainClassificationSystemWithoutSubClassesFoldersOrRegistrations()); - RunTestWith(helper).Message.Should().Contain("2"); + testRun.Results[0].Message.Should().Be("Arkivdel (systemID) someArchivePartSystemId_1: 1"); + testRun.Results[1].Message.Should().Be("Arkivdel (systemID) someArchivePartSystemId_2: 1"); } [Fact] - public void NumberOfClassesWithoutSubClassIsTwoInPrimaryClassificationSystem() + public void NumberOfEmptyClassesIsOnlyCountedInPrimaryClassificationSystem() { - XmlElementHelper helper = new XmlElementHelper().Add("arkiv", - new XmlElementHelper() - .Add("arkivdel", - new XmlElementHelper() - .Add("klassifikasjonssystem", + XmlElementHelper helper = new XmlElementHelper() + .Add("arkiv", + new XmlElementHelper() + .Add("arkivdel", new XmlElementHelper() - .Add("klasse", string.Empty) - .Add("klasse", string.Empty) - ) - .Add("klassifikasjonssystem", - new XmlElementHelper() - .Add("klasse", string.Empty) - .Add("klasse", string.Empty) - ) - ) - ); + .Add("systemID", "someArchivePartSystemId") + .Add("klassifikasjonssystem", + new XmlElementHelper()) + .Add("klassifikasjonssystem", + new XmlElementHelper() + .Add("klasse", string.Empty)))); - RunTestWith(helper).Message.Should().Contain("2"); - } + TestRun testRun = + helper.RunEventsOnTest(new NumberOfClassesInMainClassificationSystemWithoutSubClassesFoldersOrRegistrations()); - private TestResult RunTestWith(XmlElementHelper helper) - { - TestRun testRun = helper.RunEventsOnTest(new NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders()); - return testRun.Results.First(); + testRun.Results.First().Message.Should().Be("0"); } - } } diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCommentsTests.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCommentsTests.cs index c9f5c25eb..3abc564c4 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCommentsTests.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCommentsTests.cs @@ -93,13 +93,13 @@ public void NumberOfCommentsIsMoreThenOneInEachArchivePart() TestRun testRun = helper.RunEventsOnTest(new NumberOfComments()); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_1 - Antall merknader i mapper: 1")); + r.Message.Equals("Arkivdel (systemID) someSystemId_1 - Antall merknader i mapper: 1")); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_1 - Antall merknader i basisregistreringer: 1")); + r.Message.Equals("Arkivdel (systemID) someSystemId_1 - Antall merknader i basisregistreringer: 1")); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_1 - Antall merknader i dokumentbeskrivelser: 1")); + r.Message.Equals("Arkivdel (systemID) someSystemId_1 - Antall merknader i dokumentbeskrivelser: 1")); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_2 - Antall merknader i basisregistreringer: 1")); + r.Message.Equals("Arkivdel (systemID) someSystemId_2 - Antall merknader i basisregistreringer: 1")); } } } diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCorrespondencePartsTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCorrespondencePartsTest.cs index ba0158a9b..d1059b167 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCorrespondencePartsTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfCorrespondencePartsTest.cs @@ -67,8 +67,8 @@ public void NumberOfCorrespondencePartsIsTwoOneInEachArchivePart() TestRun testRun = helper.RunEventsOnTest(new NumberOfCorrespondenceParts()); testRun.Results.Should().Contain(r => r.Message.Equals("2")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_1: 1")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_2: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_1: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_2: 1")); } } } diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDepreciationsTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDepreciationsTest.cs index ff034ddc7..f7115256e 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDepreciationsTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDepreciationsTest.cs @@ -51,7 +51,7 @@ public void NumberOfDepreciationsIsOneInOneOfTwoArchiveparts() TestRun testRun = helper.RunEventsOnTest(new NumberOfDepreciations()); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_2 - Antall journalposter som avskriver andre journalposter: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_2 - Antall journalposter som avskriver andre journalposter: 1")); } } } diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentDescriptionsTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentDescriptionsTest.cs index 63f695f7a..fbbc7de3a 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentDescriptionsTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentDescriptionsTest.cs @@ -53,8 +53,8 @@ public void ShouldReturnNumberOfDocumentDescriptionsPerArchivepart() TestRun testRun = helper.RunEventsOnTest(new NumberOfDocumentDescriptions()); testRun.Results.Should().Contain(r => r.Message.Equals("2")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_1: 1")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_2: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_1: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_2: 1")); } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentDescriptionsWithoutDocumentObjectTests.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentDescriptionsWithoutDocumentObjectTests.cs index 33d912f91..16614cbca 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentDescriptionsWithoutDocumentObjectTests.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentDescriptionsWithoutDocumentObjectTests.cs @@ -53,7 +53,7 @@ public void ShouldFindTwoDocumentDescriptionsWithoutDocumentObjectInOneOfTwoArch TestRun testRun = helper.RunEventsOnTest(new NumberOfDocumentDescriptionsWithoutDocumentObject()); testRun.Results.Should().Contain(r => r.Message.Equals("2")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_1: 2")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_1: 2")); } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentFlowsTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentFlowsTest.cs index d84770452..d3381d9cc 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentFlowsTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentFlowsTest.cs @@ -65,8 +65,8 @@ public void NumberOfDocumentFlowsIsOnePerArchivePart() TestRun testRun = helper.RunEventsOnTest(new NumberOfDocumentFlows()); testRun.Results.Should().Contain(r => r.Message.Equals("2")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_1: 1")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_2: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_1: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_2: 1")); } } } diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentObjectsTests.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentObjectsTests.cs index 6f33c8d0d..8a0303559 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentObjectsTests.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfDocumentObjectsTests.cs @@ -63,8 +63,8 @@ public void ShouldFindOneDocumentObjectPerArchivePart() TestRun testRun = helper.RunEventsOnTest(new NumberOfDocumentObjects()); testRun.Results.Should().Contain(r => r.Message.Equals("2")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_1: 1")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_2: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_1: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_2: 1")); } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfFoldersPerYearTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfFoldersPerYearTest.cs index 5b1ef457d..104169b7e 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfFoldersPerYearTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfFoldersPerYearTest.cs @@ -95,9 +95,9 @@ public void ShouldReturnTwoFoldersForSeveralYearsInTwoDifferentArchiveParts() TestRun testRun = helper.RunEventsOnTest(new NumberOfFoldersPerYear()); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_1 - 1863: 2")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_2 - 1864: 1")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_2 - 1865: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_1 - 1863: 2")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_2 - 1864: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_2 - 1865: 1")); } } } diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfFoldersWithoutRegistrationsOrSubfoldersTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfFoldersWithoutRegistrationsOrSubfoldersTest.cs index c49044f54..04b2fa300 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfFoldersWithoutRegistrationsOrSubfoldersTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfFoldersWithoutRegistrationsOrSubfoldersTest.cs @@ -97,7 +97,7 @@ public void ResultIsTwoFoldersWithoutRegistrationsOrSubfoldersInOneOfTwoArchiveP TestRun testRun = helper.RunEventsOnTest(new NumberOfFoldersWithoutRegistrationsOrSubfolders()); testRun.Results.Should().Contain(r => r.Message.Equals("2")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_1: 2")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_1: 2")); } } } diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfPrecedentsTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfPrecedentsTest.cs index 4dc9bb88c..ceaacfa15 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfPrecedentsTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfPrecedentsTest.cs @@ -51,9 +51,9 @@ public void NumberOfPrecedentsInJournalpostsIsOneInEachArchivePart() TestRun testRun = helper.RunEventsOnTest(new NumberOfPrecedents()); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_1 - Antall presedenser i journalposter: 1")); + r.Message.Equals("Arkivdel (systemID) someSystemId_1 - Antall presedenser i journalposter: 1")); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_2 - Antall presedenser i journalposter: 1")); + r.Message.Equals("Arkivdel (systemID) someSystemId_2 - Antall presedenser i journalposter: 1")); } [Fact] @@ -82,9 +82,9 @@ public void NumberOfPrecedents() TestRun testRun = helper.RunEventsOnTest(new NumberOfPrecedents()); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_1 - Antall presedenser i journalposter: 2")); + r.Message.Equals("Arkivdel (systemID) someSystemId_1 - Antall presedenser i journalposter: 2")); testRun.Results.Should().Contain(r => - r.Message.Equals("I arkivdel (systemID) someSystemId_2 - Antall presedenser i saksmapper: 1")); + r.Message.Equals("Arkivdel (systemID) someSystemId_2 - Antall presedenser i saksmapper: 1")); } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfRegistrationsPerYearTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfRegistrationsPerYearTest.cs index 30b72ae36..75287d007 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfRegistrationsPerYearTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfRegistrationsPerYearTest.cs @@ -109,9 +109,9 @@ public void ShouldReturnNumberOfRegistrationsForSeveralYearsInTwoDifferentArchiv TestRun testRun = helper.RunEventsOnTest(new NumberOfRegistrationsPerYear()); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_1 - 1863: 2")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_2 - 1864: 1")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_2 - 1865: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_1 - 1863: 2")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_2 - 1864: 1")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_2 - 1865: 1")); } } } diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfRegistrationsWithoutDocumentDescriptionTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfRegistrationsWithoutDocumentDescriptionTest.cs index 6b63bf3f1..d15792471 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfRegistrationsWithoutDocumentDescriptionTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/NumberOfRegistrationsWithoutDocumentDescriptionTest.cs @@ -75,7 +75,7 @@ public void ShouldFindTwoRegistrationsWithoutDocumentDescriptionInOneOfTwoArchiv TestRun testRun = helper.RunEventsOnTest(new NumberOfRegistrationsWithoutDocumentDescription()); testRun.Results.Should().Contain(r => r.Message.Equals("2")); - testRun.Results.Should().Contain(r => r.Message.Equals("I arkivdel (systemID) someSystemId_2: 2")); + testRun.Results.Should().Contain(r => r.Message.Equals("Arkivdel (systemID) someSystemId_2: 2")); } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/Structure/ValidateAddmlDataobjectsChecksumsTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/Structure/ValidateAddmlDataobjectsChecksumsTest.cs index 26ee8ae59..396860099 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/Structure/ValidateAddmlDataobjectsChecksumsTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/Structure/ValidateAddmlDataobjectsChecksumsTest.cs @@ -1,5 +1,5 @@ -using System; using System.IO; +using System.Reflection; using Arkivverket.Arkade.Core; using Arkivverket.Arkade.Tests; using Arkivverket.Arkade.Tests.Noark5; @@ -23,7 +23,7 @@ public ValidateAddmlDataobjectsChecksumsTest(ITestOutputHelper output) [Fact] public void ShouldValidateThatAllChecksumsAreCorrect() { - string workingDirectory = $"{AppDomain.CurrentDomain.BaseDirectory}\\TestData\\Noark5\\StructureChecksums\\correct"; + string workingDirectory = $"{Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)}\\TestData\\Noark5\\StructureChecksums\\correct"; var archive = new Core.ArchiveBuilder() .WithArchiveType(ArchiveType.Noark5) .WithWorkingDirectoryRoot(workingDirectory) diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/Structure/ValidateXmlWithSchemaTest.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/Structure/ValidateXmlWithSchemaTest.cs index 4ebb411b1..c27cb077c 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/Structure/ValidateXmlWithSchemaTest.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/Structure/ValidateXmlWithSchemaTest.cs @@ -68,7 +68,7 @@ public void Dispose() private TestRun RunTest() { Archive archive = new Core.ArchiveBuilder().WithWorkingDirectoryRoot("c:\\temp").Build(); - var validateXmlWithSchema = new ValidateXmlWithSchema(new ArchiveContentMockReader(_archiveContent, _archiveStructureContent)); + var validateXmlWithSchema = new ValidateXmlWithSchema(); validateXmlWithSchema.Test(archive); return validateXmlWithSchema.GetTestRun(); } @@ -78,7 +78,7 @@ private MemoryStream GenerateStreamFromString(string value) return new MemoryStream(Encoding.UTF8.GetBytes(value ?? "")); } - [Fact] + [Fact(Skip = "Await archive files handling refactoring")] public void ShouldReturnErrorsWhenAddmlXmlIsInvalidAccordingToSchema() { var xml = @@ -88,7 +88,7 @@ public void ShouldReturnErrorsWhenAddmlXmlIsInvalidAccordingToSchema() RunTest().Results.Should().Contain(r => r.IsError() && r.Message.Contains("hello")); } - [Fact] + [Fact(Skip = "Await archive files handling refactoring")] public void ShouldReturnErrorsWhenArkivstrukturXmlIsInvalidAccordingToSchema() { var xml = diff --git a/src/Arkivverket.Arkade.Test/Tests/Noark5/TestUtil.cs b/src/Arkivverket.Arkade.Test/Tests/Noark5/TestUtil.cs index efbd6eaf7..3e2f058d8 100644 --- a/src/Arkivverket.Arkade.Test/Tests/Noark5/TestUtil.cs +++ b/src/Arkivverket.Arkade.Test/Tests/Noark5/TestUtil.cs @@ -1,12 +1,13 @@ using System; using System.IO; +using System.Reflection; using Arkivverket.Arkade.Core; namespace Arkivverket.Arkade.Test.Tests.Noark5 { public class TestUtil { - public static string TestDataDirectory = AppDomain.CurrentDomain.BaseDirectory + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + ".." + Path.DirectorySeparatorChar + "TestData" + Path.DirectorySeparatorChar; + public static string TestDataDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + Path.DirectorySeparatorChar + "TestData" + Path.DirectorySeparatorChar; public static Archive CreateArchiveExtraction(string testdataDirectory) { diff --git a/src/Arkivverket.Arkade.Test/Util/ArkadeVersionTest.cs b/src/Arkivverket.Arkade.Test/Util/ArkadeVersionTest.cs index 22e8f30df..a550cf67f 100644 --- a/src/Arkivverket.Arkade.Test/Util/ArkadeVersionTest.cs +++ b/src/Arkivverket.Arkade.Test/Util/ArkadeVersionTest.cs @@ -44,7 +44,7 @@ public void ShouldFindThatNewerVersionIsAvailable() arkadeVersion.UpdateIsAvailable().Should().BeTrue(); } - [Fact] + [Fact (Skip="Not used feature")] [Trait("Category", "Integration")] public void ShouldUpdateLastCheckForUpdateTime() { diff --git a/src/Arkivverket.Arkade.Test/Util/ChecksumTest.cs b/src/Arkivverket.Arkade.Test/Util/ChecksumTest.cs index ef63b19e6..40fe51142 100644 --- a/src/Arkivverket.Arkade.Test/Util/ChecksumTest.cs +++ b/src/Arkivverket.Arkade.Test/Util/ChecksumTest.cs @@ -1,5 +1,5 @@ -using System; using System.IO; +using System.Reflection; using Arkivverket.Arkade.Util; using FluentAssertions; using Xunit; @@ -19,7 +19,7 @@ public ChecksumTest(ITestOutputHelper output) [Fact] public void GenerateChecksum() { - var pathToFile = AppDomain.CurrentDomain.BaseDirectory + "\\Util\\demo.txt"; + var pathToFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Util\\demo.txt"; _output.WriteLine("File path: " + pathToFile); string checksum = new Sha256ChecksumGenerator().GenerateChecksum(pathToFile); @@ -31,9 +31,9 @@ public void GenerateChecksum() [Fact] public void CheckForFileExistence() { - Xunit.Assert.Throws(typeof(FileNotFoundException), delegate + Xunit.Assert.Throws(delegate { - var pathToFile = AppDomain.CurrentDomain.BaseDirectory + "\\Util\\demo2.txt"; + var pathToFile = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Util\\demo2.txt"; new Sha256ChecksumGenerator().GenerateChecksum(pathToFile); }); } diff --git a/src/Arkivverket.Arkade.Test/app.config b/src/Arkivverket.Arkade.Test/app.config deleted file mode 100644 index c698168e4..000000000 --- a/src/Arkivverket.Arkade.Test/app.config +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/src/Arkivverket.Arkade.Test/packages.config b/src/Arkivverket.Arkade.Test/packages.config deleted file mode 100644 index a7c23af6e..000000000 --- a/src/Arkivverket.Arkade.Test/packages.config +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Arkivverket.Arkade.UI/App.config b/src/Arkivverket.Arkade.UI/App.config index bc617690f..72e3daefa 100644 --- a/src/Arkivverket.Arkade.UI/App.config +++ b/src/Arkivverket.Arkade.UI/App.config @@ -1,33 +1,105 @@ - + -
+
- + - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - \ No newline at end of file + diff --git a/src/Arkivverket.Arkade.UI/Arkivverket.Arkade.UI.csproj b/src/Arkivverket.Arkade.UI/Arkivverket.Arkade.UI.csproj index 452fd3d1f..182459ef9 100644 --- a/src/Arkivverket.Arkade.UI/Arkivverket.Arkade.UI.csproj +++ b/src/Arkivverket.Arkade.UI/Arkivverket.Arkade.UI.csproj @@ -14,6 +14,9 @@ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 true + + + AnyCPU @@ -38,83 +41,90 @@ Arkade5.ico - - ..\packages\Autofac.4.1.0\lib\net45\Autofac.dll + + ..\packages\Autofac.4.6.2\lib\net45\Autofac.dll True - - ..\packages\MaterialDesignColors.1.1.2\lib\net45\MaterialDesignColors.dll + + ..\packages\Unity.5.7.3\lib\net45\CommonServiceLocator.dll True - - ..\packages\MaterialDesignThemes.2.1.0.657\lib\net45\MaterialDesignThemes.Wpf.dll + + ..\packages\MaterialDesignColors.1.1.3\lib\net45\MaterialDesignColors.dll True - - ..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll + + ..\packages\MaterialDesignThemes.2.4.0.1044\lib\net45\MaterialDesignThemes.Wpf.dll True - + ..\packages\Windows7APICodePack-Core.1.1.0.0\lib\Microsoft.WindowsAPICodePack.dll True - + ..\packages\Windows7APICodePack-Shell.1.1.0.0\lib\Microsoft.WindowsAPICodePack.Shell.dll True - - ..\packages\Prism.Core.6.2.0\lib\net45\Prism.dll + + ..\packages\Prism.Core.7.0.0.396\lib\net45\Prism.dll True - - ..\packages\Prism.Autofac.6.2.0\lib\net45\Prism.Autofac.Wpf.dll + + ..\packages\Prism.Autofac.7.0.0.336-pre\lib\net45\Prism.Autofac.Wpf.dll True - - ..\packages\Prism.Unity.6.2.0\lib\net45\Prism.Unity.Wpf.dll + + ..\packages\Prism.Unity.7.0.0.336-pre\lib\net45\Prism.Unity.Wpf.dll True - - ..\packages\Prism.Wpf.6.2.0\lib\net45\Prism.Wpf.dll + + ..\packages\Prism.Wpf.7.0.0.336-pre\lib\net45\Prism.Wpf.dll True - - ..\packages\Serilog.2.3.0\lib\net45\Serilog.dll + + ..\packages\Serilog.2.6.0\lib\net45\Serilog.dll True - - ..\packages\Serilog.Settings.AppSettings.2.0.0\lib\net45\Serilog.Settings.AppSettings.dll + + ..\packages\Serilog.Settings.AppSettings.2.1.2\lib\net45\Serilog.Settings.AppSettings.dll True - - ..\packages\Serilog.Sinks.ColoredConsole.2.0.0\lib\net45\Serilog.Sinks.ColoredConsole.dll + + ..\packages\Serilog.Sinks.ColoredConsole.3.0.1\lib\net45\Serilog.Sinks.ColoredConsole.dll True - - ..\packages\Serilog.Sinks.File.3.1.0\lib\net45\Serilog.Sinks.File.dll + + ..\packages\Serilog.Sinks.Console.3.1.1\lib\net45\Serilog.Sinks.Console.dll True - - ..\packages\Serilog.Sinks.Literate.2.0.0\lib\net45\Serilog.Sinks.Literate.dll + + ..\packages\Serilog.Sinks.File.4.0.0\lib\net45\Serilog.Sinks.File.dll True - - ..\packages\Serilog.Sinks.RollingFile.3.1.0\lib\net45\Serilog.Sinks.RollingFile.dll + + ..\packages\Serilog.Sinks.Literate.3.0.0\lib\net45\Serilog.Sinks.Literate.dll True - - ..\packages\Serilog.Sinks.TextWriter.2.0.0\lib\net45\Serilog.Sinks.TextWriter.dll + + ..\packages\Serilog.Sinks.RollingFile.3.3.0\lib\net45\Serilog.Sinks.RollingFile.dll + True + + + ..\packages\Serilog.Sinks.TextWriter.2.1.0\lib\net45\Serilog.Sinks.TextWriter.dll True + + + - - ..\packages\Prism.Wpf.6.2.0\lib\net45\System.Windows.Interactivity.dll + + ..\packages\Prism.Wpf.7.0.0.336-pre\lib\net45\System.Windows.Interactivity.dll True @@ -126,6 +136,34 @@ 4.0 + + ..\packages\Unity.5.7.3\lib\net45\Unity.Abstractions.dll + True + + + ..\packages\Unity.5.7.3\lib\net45\Unity.Configuration.dll + True + + + ..\packages\Unity.5.7.3\lib\net45\Unity.Container.dll + True + + + ..\packages\Unity.5.7.3\lib\net45\Unity.Interception.dll + True + + + ..\packages\Unity.5.7.3\lib\net45\Unity.Interception.Configuration.dll + True + + + ..\packages\Unity.5.7.3\lib\net45\Unity.RegistrationByConvention.dll + True + + + ..\packages\Unity.5.7.3\lib\net45\Unity.ServiceLocation.dll + True + @@ -248,25 +286,22 @@ - - {d0d921d0-7b81-4ede-a1b7-ed80c6bb368b} - Arkivverket.Arkade.Cli - {d4008c3c-61ef-48a4-b333-793476b7104d} Arkivverket.Arkade - - - - - + + + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. + + + - \ No newline at end of file + + diff --git a/src/Arkivverket.Arkade/Core/Addml/AddmlDatasetTestEngine.cs b/src/Arkivverket.Arkade/Core/Addml/AddmlDatasetTestEngine.cs index ba744025c..0b77312f7 100644 --- a/src/Arkivverket.Arkade/Core/Addml/AddmlDatasetTestEngine.cs +++ b/src/Arkivverket.Arkade/Core/Addml/AddmlDatasetTestEngine.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using Arkivverket.Arkade.Core.Addml.Definitions; +using Arkivverket.Arkade.Core.Addml.Processes.Hardcoded; using Arkivverket.Arkade.Logging; using Arkivverket.Arkade.Resources; using Arkivverket.Arkade.Tests; @@ -108,8 +109,8 @@ public TestSuite RunTestsOnArchive(TestSession testSession) TestSuite testSuite = _addmlProcessRunner.GetTestSuite(); - var p = new HardcodedProcessRunner(addmlDefinition, testSession.Archive, _testResultsFailedRecordsList); - p.Run().ForEach(t => testSuite.AddTestRun(t)); + testSuite.AddTestRun(new ControlExtraOrMissingFiles(addmlDefinition, testSession.Archive).GetTestRun()); + testSuite.AddTestRun(new ControlRecordAndFieldDelimiters(_testResultsFailedRecordsList).GetTestRun()); return testSuite; } diff --git a/src/Arkivverket.Arkade/Core/Addml/AddmlProcessRunner.cs b/src/Arkivverket.Arkade/Core/Addml/AddmlProcessRunner.cs index 96f556d1d..9c20f46f6 100644 --- a/src/Arkivverket.Arkade/Core/Addml/AddmlProcessRunner.cs +++ b/src/Arkivverket.Arkade/Core/Addml/AddmlProcessRunner.cs @@ -1,5 +1,6 @@ using Arkivverket.Arkade.Core.Addml.Definitions; using Arkivverket.Arkade.Core.Addml.Processes; +using Arkivverket.Arkade.Core.Addml.Processes.Hardcoded; using Arkivverket.Arkade.Core.Addml.Processes.Internal; namespace Arkivverket.Arkade.Core.Addml @@ -22,6 +23,7 @@ public void Init(AddmlDefinition addmlDefinition) public void RunProcesses(FlatFile file) { _fileProcessRunner.RunProcesses(file); + _processManager.GetProcessInstanceByName(ControlChecksum.Name).Run(file); } public void RunProcesses(FlatFile file, Record record) diff --git a/src/Arkivverket.Arkade/Core/Addml/AddmlUtil.cs b/src/Arkivverket.Arkade/Core/Addml/AddmlUtil.cs index 0a1fb26a0..75ba2aea2 100644 --- a/src/Arkivverket.Arkade/Core/Addml/AddmlUtil.cs +++ b/src/Arkivverket.Arkade/Core/Addml/AddmlUtil.cs @@ -31,7 +31,7 @@ public static AddmlInfo ReadFromFile(string fileName) } catch (FileNotFoundException e) { - throw new ArkadeException(string.Format(Resources.Messages.FileNotFoundMessage, fileName), e); + throw new ArkadeException(string.Format(Resources.ExceptionMessages.FileNotFound, fileName), e); } catch (Exception e) { diff --git a/src/Arkivverket.Arkade/Core/Addml/HardcodedProcessRunner.cs b/src/Arkivverket.Arkade/Core/Addml/HardcodedProcessRunner.cs deleted file mode 100644 index 92d3f7e75..000000000 --- a/src/Arkivverket.Arkade/Core/Addml/HardcodedProcessRunner.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Arkivverket.Arkade.Core.Addml.Definitions; -using System.Collections.Generic; -using System.Linq; -using Arkivverket.Arkade.Core.Addml.Processes.Hardcoded; -using Arkivverket.Arkade.Tests; - -namespace Arkivverket.Arkade.Core.Addml -{ - public class HardcodedProcessRunner - { - private List _hardcodedProcesses; - - public HardcodedProcessRunner(AddmlDefinition addmlDefinition, Archive archive, - List delimiterErrorTestResults = null) - { - _hardcodedProcesses = new List { - new ControlChecksum(), - new ControlExtraOrMissingFiles(addmlDefinition, archive) - }; - - if (delimiterErrorTestResults != null && delimiterErrorTestResults.Any()) - _hardcodedProcesses.Add(new ControlRecordAndFieldDelimiters(delimiterErrorTestResults)); - } - - public List Run() - { - return _hardcodedProcesses.Select(p => p.GetTestRun()).ToList(); - } - } -} \ No newline at end of file diff --git a/src/Arkivverket.Arkade/Core/Addml/ProcessManager.cs b/src/Arkivverket.Arkade/Core/Addml/ProcessManager.cs index bbaff462a..24dfd5481 100644 --- a/src/Arkivverket.Arkade/Core/Addml/ProcessManager.cs +++ b/src/Arkivverket.Arkade/Core/Addml/ProcessManager.cs @@ -3,6 +3,7 @@ using System.Linq; using Arkivverket.Arkade.Core.Addml.Definitions; using Arkivverket.Arkade.Core.Addml.Processes; +using Arkivverket.Arkade.Core.Addml.Processes.Hardcoded; using Arkivverket.Arkade.Core.Addml.Processes.Internal; using Serilog; @@ -68,6 +69,7 @@ private HashSet GetUniqueProcesses() private void AddDefaultProcesses(HashSet processes) { processes.Add(CollectPrimaryKey.Name); + processes.Add(ControlChecksum.Name); } public Dictionary> GetFileProcesses() diff --git a/src/Arkivverket.Arkade/Core/Addml/Processes/Hardcoded/ControlChecksum.cs b/src/Arkivverket.Arkade/Core/Addml/Processes/Hardcoded/ControlChecksum.cs index 9e8383eea..7f7afd499 100644 --- a/src/Arkivverket.Arkade/Core/Addml/Processes/Hardcoded/ControlChecksum.cs +++ b/src/Arkivverket.Arkade/Core/Addml/Processes/Hardcoded/ControlChecksum.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using System; using Arkivverket.Arkade.Resources; using Arkivverket.Arkade.Tests; using System.IO; @@ -45,7 +46,7 @@ protected override void DoRun(FlatFile flatFile) if (flatFile.Definition.Checksum == null) { _testResults.Add(new TestResult(ResultType.Error, AddmlLocation.FromFlatFileIndex(flatFile.Definition.GetIndex()), - string.Format(Messages.ControlChecksumMessage3))); + string.Format(Messages.ControlChecksumMessage_ChecksumMissing))); return; } @@ -53,11 +54,11 @@ protected override void DoRun(FlatFile flatFile) string expectedChecksum = flatFile.Definition.Checksum.Value; FileInfo file = flatFile.Definition.FileInfo; - HashAlgorithm h = HashAlgorithm.Create(checksumAlgorithm); + HashAlgorithm h = (HashAlgorithm) CryptoConfig.CreateFromName(checksumAlgorithm); if (h == null) { _testResults.Add(new TestResult(ResultType.Error, AddmlLocation.FromFlatFileIndex(flatFile.Definition.GetIndex()), - string.Format(Messages.ControlChecksumMessage1, checksumAlgorithm))); + string.Format(Messages.ControlChecksumMessage_UnknownChecksumAlgorithm, checksumAlgorithm))); return; } @@ -68,10 +69,10 @@ protected override void DoRun(FlatFile flatFile) } string actualChecksum = Hex.ToHexString(bytes); - if (expectedChecksum != actualChecksum) + if (!actualChecksum.Equals(expectedChecksum, StringComparison.InvariantCultureIgnoreCase)) { _testResults.Add(new TestResult(ResultType.Error, AddmlLocation.FromFlatFileIndex(flatFile.Definition.GetIndex()), - string.Format(Messages.ControlChecksumMessage2, expectedChecksum, actualChecksum))); + string.Format(Messages.ControlChecksumMessage_ChecksumMismatch, expectedChecksum, actualChecksum))); } } diff --git a/src/Arkivverket.Arkade/Core/Archive.cs b/src/Arkivverket.Arkade/Core/Archive.cs index 019c75096..5c74e073c 100644 --- a/src/Arkivverket.Arkade/Core/Archive.cs +++ b/src/Arkivverket.Arkade/Core/Archive.cs @@ -1,5 +1,6 @@ using System.IO; using Arkivverket.Arkade.Util; +using static Arkivverket.Arkade.Util.ArkadeConstants; namespace Arkivverket.Arkade.Core { @@ -10,6 +11,16 @@ public class Archive public ArchiveType ArchiveType { get; } private DirectoryInfo DocumentsDirectory { get; set; } + public ArkadeFile ArchiveStructureFile => SetupXmlFile(ArkivstrukturXmlFileName); + public ArkadeFile ArchiveStructureSchemaFile => SetupXmlFile(ArkivstrukturXsdFileName); + public ArkadeFile AddmlFile => SetupXmlFile(AddmlXmlFileName); + public ArkadeFile AddmlSchemaFile => SetupXmlFile(AddmlXsdFileName); + public ArkadeFile MetadataCatalogSchemaFile => SetupXmlFile(MetadatakatalogXsdFileName); + public ArkadeFile PublicJournalFile => SetupXmlFile(PublicJournalXmlFileName); + public ArkadeFile PublicJournalSchemaFile => SetupXmlFile(PublicJournalXsdFileName); + public ArkadeFile RunningJournalFile => SetupXmlFile(RunningJournalXmlFileName); + public ArkadeFile RunningJournalSchemaFile => SetupXmlFile(RunningJournalXsdFileName); + public Archive(ArchiveType archiveType, Uuid uuid, WorkingDirectory workingDirectory) { ArchiveType = archiveType; @@ -17,51 +28,6 @@ public Archive(ArchiveType archiveType, Uuid uuid, WorkingDirectory workingDirec WorkingDirectory = workingDirectory; } - public string GetContentDescriptionFileName() - { - return WorkingDirectory.Content().WithFile(ArkadeConstants.ArkivstrukturXmlFileName).FullName; - } - - public string GetStructureDescriptionFileName() - { - return WorkingDirectory.AdministrativeMetadata().WithFile(ArkadeConstants.AddmlXmlFileName).FullName; - } - - public FileInfo GetStructureDescriptionFile() - { - return WorkingDirectory.AdministrativeMetadata().WithFile(ArkadeConstants.AddmlXmlFileName); - } - - public string GetContentDescriptionXmlSchemaFileName() - { - return WorkingDirectory.Content().WithFile(ArkadeConstants.ArkivstrukturXsdFileName).FullName; - } - - public string GetStructureDescriptionXmlSchemaFileName() - { - return WorkingDirectory.Content().WithFile(ArkadeConstants.AddmlXsdFileName).FullName; - } - - public string GetMetadataCatalogXmlSchemaFileName() - { - return WorkingDirectory.Content().WithFile(ArkadeConstants.MetadatakatalogXsdFileName).FullName; - } - - public bool HasStructureDescriptionXmlSchema() - { - return File.Exists(GetStructureDescriptionXmlSchemaFileName()); - } - - public bool HasContentDescriptionXmlSchema() - { - return File.Exists(GetContentDescriptionXmlSchemaFileName()); - } - - public bool HasMetadataCatalogXmlSchema() - { - return File.Exists(GetMetadataCatalogXmlSchemaFileName()); - } - public string GetInformationPackageFileName() { return Uuid + ".tar"; @@ -73,7 +39,7 @@ public DirectoryInfo GetDocumentsDirectory() return DocumentsDirectory; foreach (DirectoryInfo directory in WorkingDirectory.Content().DirectoryInfo().EnumerateDirectories()) - foreach (string documentDirectoryName in ArkadeConstants.DocumentDirectoryNames) + foreach (string documentDirectoryName in DocumentDirectoryNames) if (directory.Name.Equals(documentDirectoryName)) DocumentsDirectory = directory; @@ -83,9 +49,18 @@ public DirectoryInfo GetDocumentsDirectory() private DirectoryInfo DefaultNamedDocumentsDirectory() { return WorkingDirectory.Content().WithSubDirectory( - ArkadeConstants.DocumentDirectoryNames[0] + DocumentDirectoryNames[0] ).DirectoryInfo(); } + + private ArkadeFile SetupXmlFile(string fileName) + { + FileInfo fileInfo = fileName == AddmlXmlFileName + ? WorkingDirectory.AdministrativeMetadata().WithFile(fileName) + : WorkingDirectory.Content().WithFile(fileName); + + return new ArkadeFile(fileInfo); + } } public enum ArchiveType diff --git a/src/Arkivverket.Arkade/Core/ArchiveContentReader.cs b/src/Arkivverket.Arkade/Core/ArchiveContentReader.cs deleted file mode 100644 index da1b0e8c4..000000000 --- a/src/Arkivverket.Arkade/Core/ArchiveContentReader.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.IO; -using Arkivverket.Arkade.Resources; - -namespace Arkivverket.Arkade.Core -{ - public class ArchiveContentReader : IArchiveContentReader - { - public Stream GetContentAsStream(Archive archive) - { - string fileName = archive.GetContentDescriptionFileName(); - return GetFileAsStream(fileName); - } - - public Stream GetStructureContentAsStream(Archive archive) - { - string fileName = archive.GetStructureDescriptionFileName(); - return GetFileAsStream(fileName); - } - public Stream GetContentDescriptionXmlSchemaAsStream(Archive archive) - { - string fileName = archive.GetContentDescriptionXmlSchemaFileName(); - return GetFileAsStream(fileName); - } - - public Stream GetStructureDescriptionXmlSchemaAsStream(Archive archive) - { - string fileName = archive.GetStructureDescriptionXmlSchemaFileName(); - return GetFileAsStream(fileName); - } - public Stream GetMetadataCatalogXmlSchemaAsStream(Archive archive) - { - string fileName = archive.GetMetadataCatalogXmlSchemaFileName(); - return GetFileAsStream(fileName); - } - - private static Stream GetFileAsStream(string fileName) - { - try - { - return File.OpenRead(fileName); - } - catch (Exception e) - { - string message = string.Format(Messages.FileNotFoundMessage, fileName); - throw new ArkadeException(message, e); - } - } - } -} \ No newline at end of file diff --git a/src/Arkivverket.Arkade/Core/ArkadeProcessingArea.cs b/src/Arkivverket.Arkade/Core/ArkadeProcessingArea.cs index 5e2567d73..d04517ec3 100644 --- a/src/Arkivverket.Arkade/Core/ArkadeProcessingArea.cs +++ b/src/Arkivverket.Arkade/Core/ArkadeProcessingArea.cs @@ -54,6 +54,14 @@ public static void Destroy() RootDirectory?.Refresh(); } + public static void SetupTemporaryLogsDirectory() + { + string directoryPath = GetTemporaryLogsDirectoryPath(); + const string logMessage = "Temporary system logs directory created: "; + + LogsDirectory = CreateDirectory(directoryPath, logMessage); + } + private static void SetupLocation(string locationPath) { var location = new DirectoryInfo(locationPath); @@ -83,14 +91,6 @@ private static void SetupDirectories() Directory.Delete(GetTemporaryLogsDirectoryPath(), true); } - private static void SetupTemporaryLogsDirectory() - { - string directoryPath = GetTemporaryLogsDirectoryPath(); - const string logMessage = "Temporary system logs directory created: "; - - LogsDirectory = CreateDirectory(directoryPath, logMessage); - } - private static DirectoryInfo CreateDirectory(string directoryPath, string customLogMessage = null) { var directory = new DirectoryInfo(directoryPath); diff --git a/src/Arkivverket.Arkade/Core/Encodings.cs b/src/Arkivverket.Arkade/Core/Encodings.cs index 39263befb..47b444ab7 100644 --- a/src/Arkivverket.Arkade/Core/Encodings.cs +++ b/src/Arkivverket.Arkade/Core/Encodings.cs @@ -7,7 +7,6 @@ public class Encodings { public static readonly Encoding UTF8 = Encoding.UTF8; public static readonly Encoding ISO_8859_1 = Encoding.GetEncoding("ISO-8859-1"); - public static readonly Encoding ISO_8859_4 = Encoding.GetEncoding("ISO-8859-4"); public static Encoding GetEncoding(string charset) { diff --git a/src/Arkivverket.Arkade/Core/IArchiveContentReader.cs b/src/Arkivverket.Arkade/Core/IArchiveContentReader.cs deleted file mode 100644 index 676ea2fa1..000000000 --- a/src/Arkivverket.Arkade/Core/IArchiveContentReader.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System.IO; - -namespace Arkivverket.Arkade.Core -{ - public interface IArchiveContentReader - { - Stream GetContentAsStream(Archive archive); - Stream GetStructureContentAsStream(Archive archive); - Stream GetContentDescriptionXmlSchemaAsStream(Archive archive); - Stream GetStructureDescriptionXmlSchemaAsStream(Archive archive); - Stream GetMetadataCatalogXmlSchemaAsStream(Archive archive); - } -} \ No newline at end of file diff --git a/src/Arkivverket.Arkade/Core/InformationPackageCreator.cs b/src/Arkivverket.Arkade/Core/InformationPackageCreator.cs index 8476a7079..be3ed95c0 100644 --- a/src/Arkivverket.Arkade/Core/InformationPackageCreator.cs +++ b/src/Arkivverket.Arkade/Core/InformationPackageCreator.cs @@ -130,14 +130,6 @@ private void AddFilesInDirectory(Archive archive, DirectoryInfo directory, Direc foreach (FileInfo file in directory.GetFiles()) { - if (file.Length >= 8589934592) // 8 GB - { - throw new IOException( - "Cannot create tar entry from file with size of 8 GB. or more" - + " The file " + file.Name + " has a size of: " + file.Length + " B." - ); - } - if (file.Name == archive.GetInformationPackageFileName()) // don't try to add the tar file into the tar file... { continue; diff --git a/src/Arkivverket.Arkade/Core/Noark5/Noark5TestEngine.cs b/src/Arkivverket.Arkade/Core/Noark5/Noark5TestEngine.cs index 9a0722f8b..7eeb50020 100644 --- a/src/Arkivverket.Arkade/Core/Noark5/Noark5TestEngine.cs +++ b/src/Arkivverket.Arkade/Core/Noark5/Noark5TestEngine.cs @@ -11,13 +11,11 @@ namespace Arkivverket.Arkade.Core.Noark5 { public class Noark5TestEngine : ITestEngine { - private readonly IArchiveContentReader _archiveContentReader; private readonly ITestProvider _testProvider; private readonly IStatusEventHandler _statusEventHandler; - public Noark5TestEngine(IArchiveContentReader archiveContentReader, ITestProvider testProvider, IStatusEventHandler statusEventHandler) + public Noark5TestEngine(ITestProvider testProvider, IStatusEventHandler statusEventHandler) { - _archiveContentReader = archiveContentReader; _testProvider = testProvider; _statusEventHandler = statusEventHandler; } @@ -52,7 +50,7 @@ private List RunContentTests(Archive archive) SubscribeTestsToReadElementEvent(contentTests); - using (var reader = XmlReader.Create(_archiveContentReader.GetContentAsStream(archive))) + using (var reader = XmlReader.Create(archive.ArchiveStructureFile.AsStream())) { RaiseEventStartParsingFile(); @@ -113,7 +111,7 @@ private List RunStructureTests(Archive archive) var message = new StringBuilder(); foreach (var result in errorTestResults) - message.AppendLine().AppendLine(result.Message); + message.AppendLine().AppendLine(result.Location + " - " + result.Message); _statusEventHandler.RaiseEventOperationMessage(test.GetName(), message.ToString(), OperationMessageStatus.Error); diff --git a/src/Arkivverket.Arkade/Core/TestSession.cs b/src/Arkivverket.Arkade/Core/TestSession.cs index b691622d0..1f9c0fcea 100644 --- a/src/Arkivverket.Arkade/Core/TestSession.cs +++ b/src/Arkivverket.Arkade/Core/TestSession.cs @@ -1,8 +1,6 @@ using System; using System.Collections.Generic; using System.IO; -using System.Linq; -using Serilog; using Arkivverket.Arkade.Core.Addml.Definitions; namespace Arkivverket.Arkade.Core @@ -10,7 +8,6 @@ namespace Arkivverket.Arkade.Core public class TestSession { private readonly List LogEntries = new List(); - private static readonly ILogger Log = Serilog.Log.ForContext(); public Archive Archive { get; } @@ -24,13 +21,10 @@ public class TestSession public DateTime DateOfTesting { get; } - private readonly bool _archiveHasOversizedFiles; - public TestSession(Archive archive) { Archive = archive; DateOfTesting = DateTime.Now; - _archiveHasOversizedFiles = ArchiveHasOversizedFiles(); } public void AddLogEntry(string message) @@ -52,29 +46,5 @@ public bool IsTestableArchive() { return AddmlDefinition != null || Archive.ArchiveType == ArchiveType.Noark5; } - - public bool IsPackableArchive() - { - return !_archiveHasOversizedFiles; - } - - private bool ArchiveHasOversizedFiles() - { - IEnumerable contentDirectoryFiles = - Archive.WorkingDirectory.Content().DirectoryInfo().EnumerateFiles(".", SearchOption.AllDirectories); - - const long singleFileSizeLimit = 8589934592; // 8 GB - - IEnumerable overSizedFiles = - contentDirectoryFiles.Where(file => file.Length > singleFileSizeLimit).ToArray(); - - const string message = - "Un-packable file found: {0}. The file size {1} B. is more than the current single file size limit of 8 GB."; - - foreach (FileInfo file in overSizedFiles) - Log.Warning(string.Format(message, file.Name, file.Length)); - - return overSizedFiles.Any(); - } } } \ No newline at end of file diff --git a/src/Arkivverket.Arkade/ExternalModels/xsd/loependeJournal.xsd b/src/Arkivverket.Arkade/ExternalModels/xsd/loependeJournal.xsd new file mode 100644 index 000000000..9852c4348 --- /dev/null +++ b/src/Arkivverket.Arkade/ExternalModels/xsd/loependeJournal.xsd @@ -0,0 +1,119 @@ + + + + + + + Noark 5 + XML Schema for arkivuttrekk fra Noark 5-løsninger + Skjema for løpende journal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Arkivverket.Arkade/ExternalModels/xsd/offentligJournal.xsd b/src/Arkivverket.Arkade/ExternalModels/xsd/offentligJournal.xsd new file mode 100644 index 000000000..99915b683 --- /dev/null +++ b/src/Arkivverket.Arkade/ExternalModels/xsd/offentligJournal.xsd @@ -0,0 +1,114 @@ + + + + + + + Noark 5 + XML Schema for arkivuttrekk fra Noark 5-løsninger + Skjema for offentlig journal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Arkivverket.Arkade/Identify/TestSessionFactory.cs b/src/Arkivverket.Arkade/Identify/TestSessionFactory.cs index a2bf83abd..2ea48c809 100644 --- a/src/Arkivverket.Arkade/Identify/TestSessionFactory.cs +++ b/src/Arkivverket.Arkade/Identify/TestSessionFactory.cs @@ -71,7 +71,7 @@ private TestSession NewSession(WorkingDirectory workingDirectory, ArchiveType ar if (archiveType == ArchiveType.Noark5) return testSession; - FileInfo addmlFile = archive.GetStructureDescriptionFile(); + ArkadeFile addmlFile = archive.AddmlFile; try { diff --git a/src/Arkivverket.Arkade/Logging/TestSessionXmlGenerator.cs b/src/Arkivverket.Arkade/Logging/TestSessionXmlGenerator.cs index 09b0c3a9c..bf579fab1 100644 --- a/src/Arkivverket.Arkade/Logging/TestSessionXmlGenerator.cs +++ b/src/Arkivverket.Arkade/Logging/TestSessionXmlGenerator.cs @@ -21,7 +21,6 @@ public void GenerateXmlAndSaveToFile(TestSession testSession) string pathToLogFile = testSession.Archive.WorkingDirectory.RepositoryOperations() .WithFile(ArkadeConstants.ArkadeXmlLogFileName) .FullName; - _log.Information("Writing xml log file to {LogFile}", pathToLogFile); testSessionLog log = GetTestSessionLog(testSession); FileStream fs = new FileStream(pathToLogFile, FileMode.Create); diff --git a/src/Arkivverket.Arkade/Properties/Settings.Designer.cs b/src/Arkivverket.Arkade/Properties/Settings.Designer.cs deleted file mode 100644 index ffa974e14..000000000 --- a/src/Arkivverket.Arkade/Properties/Settings.Designer.cs +++ /dev/null @@ -1,26 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Arkivverket.Arkade.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - } -} diff --git a/src/Arkivverket.Arkade/Properties/Settings.settings b/src/Arkivverket.Arkade/Properties/Settings.settings deleted file mode 100644 index 8e615f25f..000000000 --- a/src/Arkivverket.Arkade/Properties/Settings.settings +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/Arkivverket.Arkade/Report/HtmlReportGenerator.cs b/src/Arkivverket.Arkade/Report/HtmlReportGenerator.cs index 93761690b..bdbf13505 100644 --- a/src/Arkivverket.Arkade/Report/HtmlReportGenerator.cs +++ b/src/Arkivverket.Arkade/Report/HtmlReportGenerator.cs @@ -189,25 +189,28 @@ private void Summary(TestSession testSession) _stream.WriteLine(@" "); - _stream.WriteLine(@" "); - _stream.WriteLine(@" "); - _stream.WriteLine(Resources.Report.LabelNumberOfFilesProcessed); - _stream.WriteLine(" "); - _stream.WriteLine(@" "); - _stream.WriteLine(testSession.TestSummary.NumberOfProcessedFiles); - _stream.WriteLine(" "); - _stream.WriteLine(@" "); - - if (testSession.Archive.ArchiveType != ArchiveType.Noark5) + if (testSession.TestSummary != null) { _stream.WriteLine(@" "); _stream.WriteLine(@" "); - _stream.WriteLine(Resources.Report.LabelNumberOfRecordsProcessed); + _stream.WriteLine(Resources.Report.LabelNumberOfFilesProcessed); _stream.WriteLine(" "); _stream.WriteLine(@" "); - _stream.WriteLine(testSession.TestSummary.NumberOfProcessedRecords); + _stream.WriteLine(testSession.TestSummary.NumberOfProcessedFiles); _stream.WriteLine(" "); _stream.WriteLine(@" "); + + if (testSession.Archive.ArchiveType != ArchiveType.Noark5) + { + _stream.WriteLine(@" "); + _stream.WriteLine(@" "); + _stream.WriteLine(Resources.Report.LabelNumberOfRecordsProcessed); + _stream.WriteLine(" "); + _stream.WriteLine(@" "); + _stream.WriteLine(testSession.TestSummary.NumberOfProcessedRecords); + _stream.WriteLine(" "); + _stream.WriteLine(@" "); + } } _stream.WriteLine(@" "); diff --git a/src/Arkivverket.Arkade/Resources/ExceptionMessages.Designer.cs b/src/Arkivverket.Arkade/Resources/ExceptionMessages.Designer.cs index 520977e36..8f1b1cfd7 100644 --- a/src/Arkivverket.Arkade/Resources/ExceptionMessages.Designer.cs +++ b/src/Arkivverket.Arkade/Resources/ExceptionMessages.Designer.cs @@ -69,6 +69,33 @@ internal static string AddTestRunToTestSuite { } } + /// + /// Looks up a localized string similar to Arkade klarte ikke å finne informasjon om {0} i {1}. + /// + internal static string FileDescriptionParseError { + get { + return ResourceManager.GetString("FileDescriptionParseError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Finner ikke filen: {0}. + /// + internal static string FileNotFound { + get { + return ResourceManager.GetString("FileNotFound", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kunne ikke lese inn filen: {0}. + /// + internal static string FileNotRead { + get { + return ResourceManager.GetString("FileNotRead", resourceCulture); + } + } + /// /// Looks up a localized string similar to Kunne ikke kombinere {0} og {1}. /// @@ -77,5 +104,23 @@ internal static string PathCombine { return ResourceManager.GetString("PathCombine", resourceCulture); } } + + /// + /// Looks up a localized string similar to Arkade klarte ikke å tolke informasjon om periodeskille i {0}. + /// + internal static string PeriodSeparationParseError { + get { + return ResourceManager.GetString("PeriodSeparationParseError", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Linje {0}: {1}. + /// + internal static string XmlValidationErrorMessage { + get { + return ResourceManager.GetString("XmlValidationErrorMessage", resourceCulture); + } + } } } diff --git a/src/Arkivverket.Arkade/Resources/ExceptionMessages.resx b/src/Arkivverket.Arkade/Resources/ExceptionMessages.resx index 233645ce8..f58a1a977 100644 --- a/src/Arkivverket.Arkade/Resources/ExceptionMessages.resx +++ b/src/Arkivverket.Arkade/Resources/ExceptionMessages.resx @@ -120,7 +120,22 @@ TestRun for the test {0} with ID {1} was not added to test suite. Probable cause: Another test has already been added with the same ID + + Arkade klarte ikke å finne informasjon om {0} i {1} + + + Finner ikke filen: {0} + + + Kunne ikke lese inn filen: {0} + Kunne ikke kombinere {0} og {1} + + Arkade klarte ikke å tolke informasjon om periodeskille i {0} + + + Linje {0}: {1} + \ No newline at end of file diff --git a/src/Arkivverket.Arkade/Resources/Messages.Designer.cs b/src/Arkivverket.Arkade/Resources/Messages.Designer.cs index d07b673c9..71278b1d7 100644 --- a/src/Arkivverket.Arkade/Resources/Messages.Designer.cs +++ b/src/Arkivverket.Arkade/Resources/Messages.Designer.cs @@ -19,7 +19,7 @@ namespace Arkivverket.Arkade.Resources { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Messages { @@ -295,7 +295,7 @@ internal static string ControlBooleanValueMessage { } /// - /// Looks up a localized string similar to Kontrollerer checksum. + /// Looks up a localized string similar to Kontroll av sjekksummer. /// internal static string ControlChecksumDescription { get { @@ -304,29 +304,30 @@ internal static string ControlChecksumDescription { } /// - /// Looks up a localized string similar to Ukjent algoritme '{0}'. + /// Looks up a localized string similar to Forventet sjekksum: {0} + ///Aktuell sjekksum: {1}. /// - internal static string ControlChecksumMessage1 { + internal static string ControlChecksumMessage_ChecksumMismatch { get { - return ResourceManager.GetString("ControlChecksumMessage1", resourceCulture); + return ResourceManager.GetString("ControlChecksumMessage_ChecksumMismatch", resourceCulture); } } /// - /// Looks up a localized string similar to Forventet checksum '{0}'. Var '{1}'.. + /// Looks up a localized string similar to Ingen sjekksum funnet i ADDML-filen. /// - internal static string ControlChecksumMessage2 { + internal static string ControlChecksumMessage_ChecksumMissing { get { - return ResourceManager.GetString("ControlChecksumMessage2", resourceCulture); + return ResourceManager.GetString("ControlChecksumMessage_ChecksumMissing", resourceCulture); } } /// - /// Looks up a localized string similar to Ingen sjekksum i ADDML-filen. + /// Looks up a localized string similar to Ukjent sjekksum-algoritme: {0}. /// - internal static string ControlChecksumMessage3 { + internal static string ControlChecksumMessage_UnknownChecksumAlgorithm { get { - return ResourceManager.GetString("ControlChecksumMessage3", resourceCulture); + return ResourceManager.GetString("ControlChecksumMessage_UnknownChecksumAlgorithm", resourceCulture); } } @@ -664,15 +665,6 @@ internal static string ExceptionReadingAddmlFile { } } - /// - /// Looks up a localized string similar to Finner ikke filen: {0}. - /// - internal static string FileNotFoundMessage { - get { - return ResourceManager.GetString("FileNotFoundMessage", resourceCulture); - } - } - /// /// Looks up a localized string similar to Testing av arkivet er fullført.. /// diff --git a/src/Arkivverket.Arkade/Resources/Messages.resx b/src/Arkivverket.Arkade/Resources/Messages.resx index 62e8b71e0..735bdf019 100644 --- a/src/Arkivverket.Arkade/Resources/Messages.resx +++ b/src/Arkivverket.Arkade/Resources/Messages.resx @@ -196,16 +196,17 @@ Følgende ikke-boolske verdier finnes: {0} - Kontrollerer checksum + Kontroll av sjekksummer - - Ukjent algoritme '{0}' + + Forventet sjekksum: {0} +Aktuell sjekksum: {1} - - Forventet checksum '{0}'. Var '{1}'. + + Ingen sjekksum funnet i ADDML-filen - - Ingen sjekksum i ADDML-filen + + Ukjent sjekksum-algoritme: {0} Kontrollerer om definerte koder benyttes og om det benyttes koder som ikke er definert i kodelisten @@ -319,9 +320,6 @@ Feil ved innlesing av ADDML. {0} - - Finner ikke filen: {0} - Testing av arkivet er fullført. diff --git a/src/Arkivverket.Arkade/Resources/Noark5Messages.Designer.cs b/src/Arkivverket.Arkade/Resources/Noark5Messages.Designer.cs index 1c0dc6f54..7da0ba2b8 100644 --- a/src/Arkivverket.Arkade/Resources/Noark5Messages.Designer.cs +++ b/src/Arkivverket.Arkade/Resources/Noark5Messages.Designer.cs @@ -60,15 +60,6 @@ internal Noark5Messages() { } } - /// - /// Looks up a localized string similar to Arkivdelreferanser. - /// - internal static string ArchivepartReferenceControl { - get { - return ResourceManager.GetString("ArchivepartReferenceControl", resourceCulture); - } - } - /// /// Looks up a localized string similar to Referanse fra {0} (systemID) {1} til arkivdel (systemID) {2} er ikke gyldig. /// @@ -87,15 +78,6 @@ internal static string ArchivePartSystemId { } } - /// - /// Looks up a localized string similar to Start- og sluttdatoer. - /// - internal static string ArchiveStartAndEndDateControl { - get { - return ResourceManager.GetString("ArchiveStartAndEndDateControl", resourceCulture); - } - } - /// /// Looks up a localized string similar to Start- og sluttdato i arkivstrukturen: {0} - {1}. /// @@ -141,15 +123,6 @@ internal static string ArchiveStartAndEndDateControlMessage_UnEqualJournalDates } } - /// - /// Looks up a localized string similar to Endringslogg-referanser til arkivstrukturen. - /// - internal static string ChangeLogArchiveReferenceControl { - get { - return ResourceManager.GetString("ChangeLogArchiveReferenceControl", resourceCulture); - } - } - /// /// Looks up a localized string similar to Referanse til arkivenhet er ikke gyldig: (systemID) {0}. /// @@ -159,33 +132,6 @@ internal static string ChangeLogArchiveReferenceControlMessage { } } - /// - /// Looks up a localized string similar to Valider xml (ADDML). - /// - internal static string CheckWellFormedArchiveStructureXml { - get { - return ResourceManager.GetString("CheckWellFormedArchiveStructureXml", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Valider xml (arkivvutrekk.xml). - /// - internal static string CheckWellFormedContentDescriptionXml { - get { - return ResourceManager.GetString("CheckWellFormedContentDescriptionXml", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Klassereferanser. - /// - internal static string ClassReferenceControl { - get { - return ResourceManager.GetString("ClassReferenceControl", resourceCulture); - } - } - /// /// Looks up a localized string similar to Referanse fra mappe (systemID) {0} til klasse (systemID) {1} er ikke gyldig. /// @@ -195,15 +141,6 @@ internal static string ClassReferenceControlMessage { } } - /// - /// Looks up a localized string similar to Kontrollér at refererte dokumenter eksisterer. - /// - internal static string ControlDocumentFilesExists { - get { - return ResourceManager.GetString("ControlDocumentFilesExists", resourceCulture); - } - } - /// /// Looks up a localized string similar to Finner ikke filen.. /// @@ -213,15 +150,6 @@ internal static string ControlDocumentsFilesExistsMessage1 { } } - /// - /// Looks up a localized string similar to Klasser med både underklasse(r) og mappe(r). - /// - internal static string ControlNoSuperclassesHasFolders { - get { - return ResourceManager.GetString("ControlNoSuperclassesHasFolders", resourceCulture); - } - } - /// /// Looks up a localized string similar to Klasse med systemID {0}. /// @@ -231,15 +159,6 @@ internal static string ControlNoSuperclassesHasFoldersMessage { } } - /// - /// Looks up a localized string similar to Klasser med både underklasse(r) og registrering(er). - /// - internal static string ControlNoSuperclassesHasRegistrations { - get { - return ResourceManager.GetString("ControlNoSuperclassesHasRegistrations", resourceCulture); - } - } - /// /// Looks up a localized string similar to Klasse med systemID {0}. /// @@ -258,15 +177,6 @@ internal static string CouldNotReadFromFiles { } } - /// - /// Looks up a localized string similar to Opprettelsesdatoer for første og siste registrering. - /// - internal static string DatesFirstAndLastRegistration { - get { - return ResourceManager.GetString("DatesFirstAndLastRegistration", resourceCulture); - } - } - /// /// Looks up a localized string similar to Første registrering: Opprettet {0}. /// @@ -277,7 +187,7 @@ internal static string DatesFirstAndLastRegistrationMessage_CreationDateFirstReg } /// - /// Looks up a localized string similar to I arkivdel (systemID) {0} - Første registrering: Opprettet {1}. + /// Looks up a localized string similar to Arkivdel (systemID) {0} - Første registrering: Opprettet {1}. /// internal static string DatesFirstAndLastRegistrationMessage_CreationDateFirstRegistration_InArchivePart { get { @@ -295,7 +205,7 @@ internal static string DatesFirstAndLastRegistrationMessage_CreationDateLastRegi } /// - /// Looks up a localized string similar to I arkivdel (systemID) {0} - Siste registrering: Opprettet {1}. + /// Looks up a localized string similar to Arkivdel (systemID) {0} - Siste registrering: Opprettet {1}. /// internal static string DatesFirstAndLastRegistrationMessage_CreationDateLastRegistration_InArchivePart { get { @@ -330,15 +240,6 @@ internal static string DatesFirstAndLastRegistrationMessage_NumberOfRegistration } } - /// - /// Looks up a localized string similar to Dokumentfilers sjekksummer. - /// - internal static string DocumentFilesChecksumControl { - get { - return ResourceManager.GetString("DocumentFilesChecksumControl", resourceCulture); - } - } - /// /// Looks up a localized string similar to Filen {0} har ikke samme sjekksum som oppgitt i dokumentbeskrivelse (systemID) {1}. /// @@ -348,15 +249,6 @@ internal static string DocumentFilesChecksumControlMessage { } } - /// - /// Looks up a localized string similar to Dokumentfiler som mangler referanse. - /// - internal static string DocumentfilesReferenceControl { - get { - return ResourceManager.GetString("DocumentfilesReferenceControl", resourceCulture); - } - } - /// /// Looks up a localized string similar to Ikke-referert fil funnet: {0}. /// @@ -405,7 +297,7 @@ internal static string InternalSchemaFileIsUsed { } /// - /// Looks up a localized string similar to I arkivdel (systemID) {0}: {1}. + /// Looks up a localized string similar to Arkivdel (systemID) {0}: {1}. /// internal static string NumberOf_PerArchivePart { get { @@ -413,15 +305,6 @@ internal static string NumberOf_PerArchivePart { } } - /// - /// Looks up a localized string similar to Finn antall arkivdeler. - /// - internal static string NumberOfArchiveParts { - get { - return ResourceManager.GetString("NumberOfArchiveParts", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall arkivdeler: {0}. /// @@ -440,15 +323,6 @@ internal static string NumberOfArchivePartsMessage_ArchivepartsInArchive { } } - /// - /// Looks up a localized string similar to Finn antall arkiv. - /// - internal static string NumberOfArchives { - get { - return ResourceManager.GetString("NumberOfArchives", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall arkiv: {0}. /// @@ -467,42 +341,6 @@ internal static string NumberOfArchivesMessage_ArchivesAtLevel { } } - /// - /// Looks up a localized string similar to Antall saksparter. - /// - internal static string NumberOfCaseParts { - get { - return ResourceManager.GetString("NumberOfCaseParts", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I arkivdel (systemID) {0}: {1}. - /// - internal static string NumberOfCasePartsMessage { - get { - return ResourceManager.GetString("NumberOfCasePartsMessage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Saksmappenes status i arkivstrukturen. - /// - internal static string NumberOfCaseStatusesPerArchivePart { - get { - return ResourceManager.GetString("NumberOfCaseStatusesPerArchivePart", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall loggførte endringer. - /// - internal static string NumberOfChangesLogged { - get { - return ResourceManager.GetString("NumberOfChangesLogged", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall endringer: {0}. /// @@ -512,24 +350,6 @@ internal static string NumberOfChangesLoggedMessage { } } - /// - /// Looks up a localized string similar to Finn antall klasser. - /// - internal static string NumberOfClasses { - get { - return ResourceManager.GetString("NumberOfClasses", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall klasser i det primære klassifikasjonssystemet uten underklasser eller mapper. - /// - internal static string NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders { - get { - return ResourceManager.GetString("NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall klasser: {0}. /// @@ -539,15 +359,6 @@ internal static string NumberOfClassesMessage { } } - /// - /// Looks up a localized string similar to Antall graderinger. - /// - internal static string NumberOfClassifications { - get { - return ResourceManager.GetString("NumberOfClassifications", resourceCulture); - } - } - /// /// Looks up a localized string similar to Graderinger i {0} - Antall: {1}. /// @@ -557,15 +368,6 @@ internal static string NumberOfClassificationsMessage { } } - /// - /// Looks up a localized string similar to Finn antall klassifikasjonssystem. - /// - internal static string NumberOfClassificationSystems { - get { - return ResourceManager.GetString("NumberOfClassificationSystems", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall klassifikasjonssystem: {0}. /// @@ -584,15 +386,6 @@ internal static string NumberOfClassificationSystemsMessage_ClassificationSystem } } - /// - /// Looks up a localized string similar to Antall merknader. - /// - internal static string NumberOfComments { - get { - return ResourceManager.GetString("NumberOfComments", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall merknader i basisregistreringer: {0}. /// @@ -603,7 +396,7 @@ internal static string NumberOfCommentsInBaseRegistrationMessage { } /// - /// Looks up a localized string similar to I arkivdel (systemID) {0} - Antall merknader i basisregistreringer: {1}. + /// Looks up a localized string similar to Arkivdel (systemID) {0} - Antall merknader i basisregistreringer: {1}. /// internal static string NumberOfCommentsInBaseRegistrationMessage_ForArchivePart { get { @@ -621,7 +414,7 @@ internal static string NumberOfCommentsInDocumentDescriptionMessage { } /// - /// Looks up a localized string similar to I arkivdel (systemID) {0} - Antall merknader i dokumentbeskrivelser: {1}. + /// Looks up a localized string similar to Arkivdel (systemID) {0} - Antall merknader i dokumentbeskrivelser: {1}. /// internal static string NumberOfCommentsInDocumentDescriptionMessage_ForArchivePart { get { @@ -639,7 +432,7 @@ internal static string NumberOfCommentsInFoldersMessage { } /// - /// Looks up a localized string similar to I arkivdel (systemID) {0} - Antall merknader i mapper: {1}. + /// Looks up a localized string similar to Arkivdel (systemID) {0} - Antall merknader i mapper: {1}. /// internal static string NumberOfCommentsInFoldersMessage_ForArchivePart { get { @@ -647,15 +440,6 @@ internal static string NumberOfCommentsInFoldersMessage_ForArchivePart { } } - /// - /// Looks up a localized string similar to Antall konverterte dokumenter. - /// - internal static string NumberOfConversions { - get { - return ResourceManager.GetString("NumberOfConversions", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall konverteringer: {0}. /// @@ -665,15 +449,6 @@ internal static string NumberOfConversionsMessage { } } - /// - /// Looks up a localized string similar to Antall korrespondanseparter. - /// - internal static string NumberOfCorrespondenceParts { - get { - return ResourceManager.GetString("NumberOfCorrespondenceParts", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall korrespondanseparter: {0}. /// @@ -683,24 +458,6 @@ internal static string NumberOfCorrespondencePartsMessage { } } - /// - /// Looks up a localized string similar to Antall kryssreferanser. - /// - internal static string NumberOfCrossReferences { - get { - return ResourceManager.GetString("NumberOfCrossReferences", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall avskrivninger. - /// - internal static string NumberOfDepreciations { - get { - return ResourceManager.GetString("NumberOfDepreciations", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall journalposter som avskriver andre journalposter: {0}. /// @@ -711,7 +468,7 @@ internal static string NumberOfDepreciationsMessage { } /// - /// Looks up a localized string similar to I arkivdel (systemID) {0} - Antall journalposter som avskriver andre journalposter: {1}. + /// Looks up a localized string similar to Arkivdel (systemID) {0} - Antall journalposter som avskriver andre journalposter: {1}. /// internal static string NumberOfDepreciationsMessage_ForArchivePart { get { @@ -719,15 +476,6 @@ internal static string NumberOfDepreciationsMessage_ForArchivePart { } } - /// - /// Looks up a localized string similar to Antall kassasjonsvedtak. - /// - internal static string NumberOfDisposalResolutions { - get { - return ResourceManager.GetString("NumberOfDisposalResolutions", resourceCulture); - } - } - /// /// Looks up a localized string similar to Kassasjonsvedtak i {0} - Antall: {1}. /// @@ -755,15 +503,6 @@ internal static string NumberOfDisposalResolutionsMessage_DocTrueActualFalse { } } - /// - /// Looks up a localized string similar to Antall utførte kassasjoner. - /// - internal static string NumberOfDisposalsExecuted { - get { - return ResourceManager.GetString("NumberOfDisposalsExecuted", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall utførte kassasjoner: {0}. /// @@ -791,69 +530,6 @@ internal static string NumberOfDisposalsExecutedMessage_DocTrueActualFalse { } } - /// - /// Looks up a localized string similar to Antall dokumentbeskrivelser. - /// - internal static string NumberOfDocumentDescriptions { - get { - return ResourceManager.GetString("NumberOfDocumentDescriptions", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I arkivdel (systemID) {0}: {1}. - /// - internal static string NumberOfDocumentDescriptionsPerArchivePartMessage { - get { - return ResourceManager.GetString("NumberOfDocumentDescriptionsPerArchivePartMessage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall dokumentbeskrivelser uten dokumentobjekt. - /// - internal static string NumberOfDocumentDescriptionsWithoutDocumentObject { - get { - return ResourceManager.GetString("NumberOfDocumentDescriptionsWithoutDocumentObject", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall dokumentflyter. - /// - internal static string NumberOfDocumentFlows { - get { - return ResourceManager.GetString("NumberOfDocumentFlows", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall dokumentobjekter. - /// - internal static string NumberOfDocumentObjects { - get { - return ResourceManager.GetString("NumberOfDocumentObjects", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I arkivdel (systemID) {0}: {1}. - /// - internal static string NumberOfDocumentObjectsMessage { - get { - return ResourceManager.GetString("NumberOfDocumentObjectsMessage", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall av ulike saksmappestatuser. - /// - internal static string NumberOfEachCaseFolderStatus { - get { - return ResourceManager.GetString("NumberOfEachCaseFolderStatus", resourceCulture); - } - } - /// /// Looks up a localized string similar to Saksmappestatus: {0} - Antall: {1}. /// @@ -863,15 +539,6 @@ internal static string NumberOfEachCaseFolderStatusMessage { } } - /// - /// Looks up a localized string similar to Antall ulike dokumentformater. - /// - internal static string NumberOfEachDocumentFormat { - get { - return ResourceManager.GetString("NumberOfEachDocumentFormat", resourceCulture); - } - } - /// /// Looks up a localized string similar to Dokumentformat: {0} - Antall: {1}. /// @@ -890,15 +557,6 @@ internal static string NumberOfEachDocumentFormatMessage_FormatMismatch { } } - /// - /// Looks up a localized string similar to Antall ulike dokumentstatuser. - /// - internal static string NumberOfEachDocumentStatus { - get { - return ResourceManager.GetString("NumberOfEachDocumentStatus", resourceCulture); - } - } - /// /// Looks up a localized string similar to Dokumentstatus: {0} - Antall: {1}. /// @@ -908,15 +566,6 @@ internal static string NumberOfEachDocumentStatusMessage { } } - /// - /// Looks up a localized string similar to Antall av ulike journalposttyper. - /// - internal static string NumberOfEachJournalPostType { - get { - return ResourceManager.GetString("NumberOfEachJournalPostType", resourceCulture); - } - } - /// /// Looks up a localized string similar to Journalpost med systemID {0} mangler hoveddokument. /// @@ -935,15 +584,6 @@ internal static string NumberOfEachJournalPostTypeMessage_TypeAndCount { } } - /// - /// Looks up a localized string similar to Antall ulike journalstatuser. - /// - internal static string NumberOfEachJournalStatus { - get { - return ResourceManager.GetString("NumberOfEachJournalStatus", resourceCulture); - } - } - /// /// Looks up a localized string similar to Journalstatus: {0} - Antall: {1}. /// @@ -953,24 +593,6 @@ internal static string NumberOfEachJournalStatusMessage { } } - /// - /// Looks up a localized string similar to Finn antall mapper. - /// - internal static string NumberOfFolders { - get { - return ResourceManager.GetString("NumberOfFolders", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall mapper som er klassifisert med hver enkelt klasse i arkivstrukturen. - /// - internal static string NumberOfFoldersClassified { - get { - return ResourceManager.GetString("NumberOfFoldersClassified", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall mapper: {0}. /// @@ -980,15 +602,6 @@ internal static string NumberOfFoldersMessage { } } - /// - /// Looks up a localized string similar to Antall mapper for hver klasse. - /// - internal static string NumberOfFoldersPerClass { - get { - return ResourceManager.GetString("NumberOfFoldersPerClass", resourceCulture); - } - } - /// /// Looks up a localized string similar to Klasser uten mapper (og uten underklasser) - Antall: {0}. /// @@ -1008,16 +621,7 @@ internal static string NumberOfFoldersPerClassMessage_NumberOfFolders { } /// - /// Looks up a localized string similar to Antall mapper for hvert år. - /// - internal static string NumberOfFoldersPerYear { - get { - return ResourceManager.GetString("NumberOfFoldersPerYear", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I arkivdel (systemID) {0} - {1}: {2}. + /// Looks up a localized string similar to Arkivdel (systemID) {0} - {1}: {2}. /// internal static string NumberOfFoldersPerYear_ForArchivePart { get { @@ -1025,24 +629,6 @@ internal static string NumberOfFoldersPerYear_ForArchivePart { } } - /// - /// Looks up a localized string similar to Antall mapper uten registreringer eller undermapper. - /// - internal static string NumberOfFoldersWithoutRegistrationsOrSubfolders { - get { - return ResourceManager.GetString("NumberOfFoldersWithoutRegistrationsOrSubfolders", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall journalposter. - /// - internal static string NumberOfJournalPosts { - get { - return ResourceManager.GetString("NumberOfJournalPosts", resourceCulture); - } - } - /// /// Looks up a localized string similar to Kunne ikke lese fra en eller flere journalfiler. /// @@ -1097,15 +683,6 @@ internal static string NumberOfJournalPostsMessage_UnEqualJournalNumbers { } } - /// - /// Looks up a localized string similar to Dokumentfiler med referanse fra mer enn ett dokumentobjekt. - /// - internal static string NumberOfMultiReferencedDocumentFiles { - get { - return ResourceManager.GetString("NumberOfMultiReferencedDocumentFiles", resourceCulture); - } - } - /// /// Looks up a localized string similar to Referert dokumentfil: {0} - Antall referanser: {1}. /// @@ -1115,15 +692,6 @@ internal static string NumberOfMultiReferencedDocumentFilesMessage { } } - /// - /// Looks up a localized string similar to Antall presedenser. - /// - internal static string NumberOfPrecedents { - get { - return ResourceManager.GetString("NumberOfPrecedents", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall presedenser i saksmapper: {0}. /// @@ -1134,7 +702,7 @@ internal static string NumberOfPrecedentsInCaseFolderMessage { } /// - /// Looks up a localized string similar to I arkivdel (systemID) {0} - Antall presedenser i saksmapper: {1}. + /// Looks up a localized string similar to Arkivdel (systemID) {0} - Antall presedenser i saksmapper: {1}. /// internal static string NumberOfPrecedentsInCaseFolderMessage_ForArchivePart { get { @@ -1152,7 +720,7 @@ internal static string NumberOfPrecedentsInJournalpostsMessage { } /// - /// Looks up a localized string similar to I arkivdel (systemID) {0} - Antall presedenser i journalposter: {1}. + /// Looks up a localized string similar to Arkivdel (systemID) {0} - Antall presedenser i journalposter: {1}. /// internal static string NumberOfPrecedentsInJournalpostsMessage_ForArchivePart { get { @@ -1160,15 +728,6 @@ internal static string NumberOfPrecedentsInJournalpostsMessage_ForArchivePart { } } - /// - /// Looks up a localized string similar to Finn antall registreringer. - /// - internal static string NumberOfRegistrations { - get { - return ResourceManager.GetString("NumberOfRegistrations", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall registreringer: {0}. /// @@ -1178,15 +737,6 @@ internal static string NumberOfRegistrationsMessage { } } - /// - /// Looks up a localized string similar to Antall registreringer for hver klasse (Registreringer under mappe regnes ikke). - /// - internal static string NumberOfRegistrationsPerClass { - get { - return ResourceManager.GetString("NumberOfRegistrationsPerClass", resourceCulture); - } - } - /// /// Looks up a localized string similar to Klasser uten registreringer (og uten underklasser) - Antall: {0}. /// @@ -1205,42 +755,6 @@ internal static string NumberOfRegistrationsPerClassMessage_NumberOfRegistration } } - /// - /// Looks up a localized string similar to Antall registreringer for hvert år. - /// - internal static string NumberOfRegistrationsPerYear { - get { - return ResourceManager.GetString("NumberOfRegistrationsPerYear", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall registreringer uten dokumentbeskrivelse. - /// - internal static string NumberOfRegistrationsWithoutDocumentDescription { - get { - return ResourceManager.GetString("NumberOfRegistrationsWithoutDocumentDescription", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to I arkivdel (systemID) {0}: {1}. - /// - internal static string NumberOfRegistrationsWithoutDocumentDescription_ForArchivePart { - get { - return ResourceManager.GetString("NumberOfRegistrationsWithoutDocumentDescription_ForArchivePart", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Antall skjerminger. - /// - internal static string NumberOfRestrictions { - get { - return ResourceManager.GetString("NumberOfRestrictions", resourceCulture); - } - } - /// /// Looks up a localized string similar to Skjerminger i {0} - Antall: {1}. /// @@ -1268,15 +782,6 @@ internal static string NumberOfRestrictionsMessage_DocTrueActualFalse { } } - /// - /// Looks up a localized string similar to Finn status på arkivdeler. - /// - internal static string StatusOfArchiveParts { - get { - return ResourceManager.GetString("StatusOfArchiveParts", resourceCulture); - } - } - /// /// Looks up a localized string similar to Arkivdelstatus: {0}. /// @@ -1295,15 +800,6 @@ internal static string StatusOfArchivePartsMessage_ForArchivePart { } } - /// - /// Looks up a localized string similar to Systemidentifikasjoner. - /// - internal static string SystemIdUniqueControl { - get { - return ResourceManager.GetString("SystemIdUniqueControl", resourceCulture); - } - } - /// /// Looks up a localized string similar to Ikke-unik ID: Systemidentifikasjonen (systemID) {0} forekommer {1} ganger. /// @@ -1313,24 +809,6 @@ internal static string SystemIdUniqueControlMessage { } } - /// - /// Looks up a localized string similar to Valider sjekksummer. - /// - internal static string ValidateAddmlDataobjectsChecksums { - get { - return ResourceManager.GetString("ValidateAddmlDataobjectsChecksums", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Valider antallet dokumentfiler. - /// - internal static string ValidateNumberOfDocumentfiles { - get { - return ResourceManager.GetString("ValidateNumberOfDocumentfiles", resourceCulture); - } - } - /// /// Looks up a localized string similar to Antall dokumentfiler ble ikke funnet oppgitt. /// @@ -1384,32 +862,5 @@ internal static string ValidateNumberOfDocumentfilesMessage_NumberOfFilesFound { return ResourceManager.GetString("ValidateNumberOfDocumentfilesMessage_NumberOfFilesFound", resourceCulture); } } - - /// - /// Looks up a localized string similar to Valider xml i henhold til skjema (ADDML). - /// - internal static string ValidateXmlWithSchema { - get { - return ResourceManager.GetString("ValidateXmlWithSchema", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Validert i henhold til XML-skjema.. - /// - internal static string ValidateXmlWithSchemaMessageValid { - get { - return ResourceManager.GetString("ValidateXmlWithSchemaMessageValid", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to {0} er ikke gyldig i henhold til XML-skjema: {1}. - /// - internal static string XmlDoesNotValidateWithSchema { - get { - return ResourceManager.GetString("XmlDoesNotValidateWithSchema", resourceCulture); - } - } } } diff --git a/src/Arkivverket.Arkade/Resources/Noark5Messages.resx b/src/Arkivverket.Arkade/Resources/Noark5Messages.resx index 4bda009bb..1488bc507 100644 --- a/src/Arkivverket.Arkade/Resources/Noark5Messages.resx +++ b/src/Arkivverket.Arkade/Resources/Noark5Messages.resx @@ -117,21 +117,9 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - Valider xml (ADDML) - - - Valider xml (arkivvutrekk.xml) - - - Kontrollér at refererte dokumenter eksisterer - Finner ikke filen. - - Opprettelsesdatoer for første og siste registrering - Første registrering: Opprettet {0} @@ -147,9 +135,6 @@ Antall registreringer funnet: {0} - - Dokumentfiler som mangler referanse - Ikke-referert fil funnet: {0} @@ -158,102 +143,30 @@ Forventet: {1} Generert: {2} - - {0} er ikke gyldig i henhold til XML-skjema: {1} - - - Finn antall arkivdeler - Antall arkivdeler: {0} - - Finn antall arkiv - Antall arkiv: {0} - - Antall saksparter - - - I arkivdel (systemID) {0}: {1} - - - Saksmappenes status i arkivstrukturen - - - Finn antall klasser - - - Antall klasser i det primære klassifikasjonssystemet uten underklasser eller mapper - Antall klasser: {0} - - Finn antall klassifikasjonssystem - Antall klassifikasjonssystem: {0} - - Antall merknader - Antall merknader i mapper: {0} - - Antall korrespondanseparter - Antall korrespondanseparter: {0} - - Antall kryssreferanser - - - Antall avskrivninger - Antall journalposter som avskriver andre journalposter: {0} - - Antall dokumentbeskrivelser - - - I arkivdel (systemID) {0}: {1} - - - Antall dokumentbeskrivelser uten dokumentobjekt - - - Antall dokumentflyter - - - Antall dokumentobjekter - - - I arkivdel (systemID) {0}: {1} - - - Finn antall mapper - - - Antall mapper som er klassifisert med hver enkelt klasse i arkivstrukturen - Antall mapper: {0} - - Antall mapper for hvert år - - - Antall mapper uten registreringer eller undermapper - - - Antall journalposter - Antallet journalposter i offentlig og løpende journal er ulikt @@ -269,36 +182,12 @@ Generert: {2} Antall journalposter dokumentert i løpende journal: {0} - - Antall av ulike journalposttyper - - - Antall presedenser - Antall presedenser i saksmapper: {0} - - Finn antall registreringer - Antall registreringer: {0} - - Antall registreringer for hvert år - - - Antall registreringer uten dokumentbeskrivelse - - - Finn status på arkivdeler - - - Valider sjekksummer - - - Valider antallet dokumentfiler - Antall dokumentfiler ble ikke funnet oppgitt @@ -317,78 +206,45 @@ Generert: {2} Antall dokumentfiler funnet: {0} - - Valider xml i henhold til skjema (ADDML) - - - Validert i henhold til XML-skjema. - Journalpost med systemID {0} mangler hoveddokument Journalposttype: {0} - Antall: {1} - - Antall registreringer for hver klasse (Registreringer under mappe regnes ikke) - Klasse (systemID): {0} - Antall: {1} Klasser uten registreringer (og uten underklasser) - Antall: {0} - - Antall ulike journalstatuser - Journalstatus: {0} - Antall: {1} - - Antall ulike dokumentstatuser - Dokumentstatus: {0} - Antall: {1} - - Antall ulike dokumentformater - Dokumentformat: {0} - Antall: {1} Format-misforhold: Dokumentformat: {0} - Dokumentfilreferanse: {1} - - Dokumentfiler med referanse fra mer enn ett dokumentobjekt - Referert dokumentfil: {0} - Antall referanser: {1} Arkivdel (systemID): {0} - - Klasser med både underklasse(r) og mappe(r) - Klasse med systemID {0} - - Antall graderinger - Graderinger i {0} - Antall: {1} - - Antall kassasjonsvedtak - Kassasjonsvedtak i {0} - Antall: {1} - - Antall utførte kassasjoner - Antall utførte kassasjoner: {0} @@ -404,9 +260,6 @@ Generert: {2} Det er angitt at uttrekket skal inneholde kassasjonsvedtak, men ingen kassasjonsvedtak ble funnet - - Antall skjerminger - Skjerminger i {0} - Antall: {1} @@ -416,15 +269,9 @@ Generert: {2} Det er angitt at uttrekket skal inneholde skjerminger, men ingen skjerminger ble funnet - - Antall konverterte dokumenter - Antall konverteringer: {0} - - Start- og sluttdatoer - Start- og sluttdato i arkivstrukturen: {0} - {1} @@ -440,48 +287,27 @@ Generert: {2} Datoer i offentlig og løpende journal er ikke like - - Antall loggførte endringer - Antall endringer: {0} - - Endringslogg-referanser til arkivstrukturen - Referanse til arkivenhet er ikke gyldig: (systemID) {0} Filen {0} ble ikke funnet - - Arkivdelreferanser - Referanse fra {0} (systemID) {1} til arkivdel (systemID) {2} er ikke gyldig - - Systemidentifikasjoner - Ikke-unik ID: Systemidentifikasjonen (systemID) {0} forekommer {1} ganger - - Klasser med både underklasse(r) og registrering(er) - Klasse med systemID {0} - - Klassereferanser - Referanse fra mappe (systemID) {0} til klasse (systemID) {1} er ikke gyldig - - Dokumentfilers sjekksummer - Filen {0} har ikke samme sjekksum som oppgitt i dokumentbeskrivelse (systemID) {1} @@ -491,18 +317,12 @@ Generert: {2} Skjemafil {0} ble ikke funnet i uttrekket. Validering gjøres ihht. en versjon av {0} som er innebygget i Arkade - - Antall mapper for hver klasse - Klasser uten mapper (og uten underklasser) - Antall: {0} Klasse (systemID): {0} - Antall: {1} - - Antall av ulike saksmappestatuser - Saksmappestatus: {0} - Antall: {1} @@ -521,20 +341,17 @@ Generert: {2} Antall klassifikasjonssystemer i arkivdel (systemID) {0}: {1} - - I arkivdel (systemID) {0}: {1} - - I arkivdel (systemID) {0}: {1} + Arkivdel (systemID) {0}: {1} - I arkivdel (systemID) {0} - {1}: {2} + Arkivdel (systemID) {0} - {1}: {2} - I arkivdel (systemID) {0} - Første registrering: Opprettet {1} + Arkivdel (systemID) {0} - Første registrering: Opprettet {1} - I arkivdel (systemID) {0} - Siste registrering: Opprettet {1} + Arkivdel (systemID) {0} - Siste registrering: Opprettet {1} Kunne ikke lese fra en eller flere filer @@ -543,10 +360,10 @@ Generert: {2} Periodeskille er skarpt og antallet journalposter i arkivstrukturen er ikke likt det i offentlig og løpende journal - I arkivdel (systemID) {0} - Antall presedenser i journalposter: {1} + Arkivdel (systemID) {0} - Antall presedenser i journalposter: {1} - I arkivdel (systemID) {0} - Antall presedenser i saksmapper: {1} + Arkivdel (systemID) {0} - Antall presedenser i saksmapper: {1} Antall presedenser i journalposter: {0} @@ -558,15 +375,15 @@ Generert: {2} Antall merknader i dokumentbeskrivelser: {0} - I arkivdel (systemID) {0} - Antall merknader i basisregistreringer: {1} + Arkivdel (systemID) {0} - Antall merknader i basisregistreringer: {1} - I arkivdel (systemID) {0} - Antall merknader i dokumentbeskrivelser: {1} + Arkivdel (systemID) {0} - Antall merknader i dokumentbeskrivelser: {1} - I arkivdel (systemID) {0} - Antall merknader i mapper: {1} + Arkivdel (systemID) {0} - Antall merknader i mapper: {1} - I arkivdel (systemID) {0} - Antall journalposter som avskriver andre journalposter: {1} + Arkivdel (systemID) {0} - Antall journalposter som avskriver andre journalposter: {1} \ No newline at end of file diff --git a/src/Arkivverket.Arkade/Resources/Noark5TestDescriptions.Designer.cs b/src/Arkivverket.Arkade/Resources/Noark5TestDescriptions.Designer.cs index 4c9006142..b3c7ff45c 100644 --- a/src/Arkivverket.Arkade/Resources/Noark5TestDescriptions.Designer.cs +++ b/src/Arkivverket.Arkade/Resources/Noark5TestDescriptions.Designer.cs @@ -19,7 +19,7 @@ namespace Arkivverket.Arkade.Resources { // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] internal class Noark5TestDescriptions { diff --git a/src/Arkivverket.Arkade/Resources/Noark5TestNames.Designer.cs b/src/Arkivverket.Arkade/Resources/Noark5TestNames.Designer.cs new file mode 100644 index 000000000..f8942440e --- /dev/null +++ b/src/Arkivverket.Arkade/Resources/Noark5TestNames.Designer.cs @@ -0,0 +1,522 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Arkivverket.Arkade.Resources { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Noark5TestNames { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Noark5TestNames() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Arkivverket.Arkade.Resources.Noark5TestNames", typeof(Noark5TestNames).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Arkivdelreferanser. + /// + internal static string ArchivepartReferenceControl { + get { + return ResourceManager.GetString("ArchivepartReferenceControl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Start- og sluttdatoer. + /// + internal static string ArchiveStartAndEndDateControl { + get { + return ResourceManager.GetString("ArchiveStartAndEndDateControl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Endringslogg-referanser til arkivstrukturen. + /// + internal static string ChangeLogArchiveReferenceControl { + get { + return ResourceManager.GetString("ChangeLogArchiveReferenceControl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Klassereferanser. + /// + internal static string ClassReferenceControl { + get { + return ResourceManager.GetString("ClassReferenceControl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Refererte dokumenters eksistens. + /// + internal static string ControlDocumentFilesExists { + get { + return ResourceManager.GetString("ControlDocumentFilesExists", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Klasser med både underklasse(r) og mappe(r). + /// + internal static string ControlNoSuperclassesHasFolders { + get { + return ResourceManager.GetString("ControlNoSuperclassesHasFolders", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Klasser med både underklasse(r) og registrering(er). + /// + internal static string ControlNoSuperclassesHasRegistrations { + get { + return ResourceManager.GetString("ControlNoSuperclassesHasRegistrations", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Dokumentfilers sjekksummer. + /// + internal static string DocumentFilesChecksumControl { + get { + return ResourceManager.GetString("DocumentFilesChecksumControl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Dokumentfiler som mangler referanse. + /// + internal static string DocumentfilesReferenceControl { + get { + return ResourceManager.GetString("DocumentfilesReferenceControl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Opprettelsesdatoer for første og siste registrering. + /// + internal static string FirstAndLastRegistrationCreationDates { + get { + return ResourceManager.GetString("FirstAndLastRegistrationCreationDates", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall arkivdeler. + /// + internal static string NumberOfArchiveParts { + get { + return ResourceManager.GetString("NumberOfArchiveParts", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall arkiv. + /// + internal static string NumberOfArchives { + get { + return ResourceManager.GetString("NumberOfArchives", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall saksparter. + /// + internal static string NumberOfCaseParts { + get { + return ResourceManager.GetString("NumberOfCaseParts", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall loggførte endringer. + /// + internal static string NumberOfChangesLogged { + get { + return ResourceManager.GetString("NumberOfChangesLogged", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall klasser. + /// + internal static string NumberOfClasses { + get { + return ResourceManager.GetString("NumberOfClasses", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall klasser i det primære klassifikasjonssystemet uten underklasser, mapper eller registreringer. + /// + internal static string NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders { + get { + return ResourceManager.GetString("NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall graderinger. + /// + internal static string NumberOfClassifications { + get { + return ResourceManager.GetString("NumberOfClassifications", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall klassifikasjonssystem. + /// + internal static string NumberOfClassificationSystems { + get { + return ResourceManager.GetString("NumberOfClassificationSystems", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall merknader. + /// + internal static string NumberOfComments { + get { + return ResourceManager.GetString("NumberOfComments", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall konverterte dokumenter. + /// + internal static string NumberOfConversions { + get { + return ResourceManager.GetString("NumberOfConversions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall korrespondanseparter. + /// + internal static string NumberOfCorrespondenceParts { + get { + return ResourceManager.GetString("NumberOfCorrespondenceParts", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall kryssreferanser. + /// + internal static string NumberOfCrossReferences { + get { + return ResourceManager.GetString("NumberOfCrossReferences", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall avskrivninger. + /// + internal static string NumberOfDepreciations { + get { + return ResourceManager.GetString("NumberOfDepreciations", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall kassasjonsvedtak. + /// + internal static string NumberOfDisposalResolutions { + get { + return ResourceManager.GetString("NumberOfDisposalResolutions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall utførte kassasjoner. + /// + internal static string NumberOfDisposalsExecuted { + get { + return ResourceManager.GetString("NumberOfDisposalsExecuted", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall dokumentbeskrivelser. + /// + internal static string NumberOfDocumentDescriptions { + get { + return ResourceManager.GetString("NumberOfDocumentDescriptions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall dokumentbeskrivelser uten dokumentobjekt. + /// + internal static string NumberOfDocumentDescriptionsWithoutDocumentObject { + get { + return ResourceManager.GetString("NumberOfDocumentDescriptionsWithoutDocumentObject", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall dokumentflyter. + /// + internal static string NumberOfDocumentFlows { + get { + return ResourceManager.GetString("NumberOfDocumentFlows", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall dokumentobjekter. + /// + internal static string NumberOfDocumentObjects { + get { + return ResourceManager.GetString("NumberOfDocumentObjects", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall av ulike saksmappestatuser. + /// + internal static string NumberOfEachCaseFolderStatus { + get { + return ResourceManager.GetString("NumberOfEachCaseFolderStatus", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall av ulike dokumentformater. + /// + internal static string NumberOfEachDocumentFormat { + get { + return ResourceManager.GetString("NumberOfEachDocumentFormat", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall av ulike dokumentstatuser. + /// + internal static string NumberOfEachDocumentStatus { + get { + return ResourceManager.GetString("NumberOfEachDocumentStatus", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall av ulike journalposttyper. + /// + internal static string NumberOfEachJournalPostType { + get { + return ResourceManager.GetString("NumberOfEachJournalPostType", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall av ulike journalstatuser. + /// + internal static string NumberOfEachJournalStatus { + get { + return ResourceManager.GetString("NumberOfEachJournalStatus", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall mapper. + /// + internal static string NumberOfFolders { + get { + return ResourceManager.GetString("NumberOfFolders", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall mapper for hver klasse. + /// + internal static string NumberOfFoldersPerClass { + get { + return ResourceManager.GetString("NumberOfFoldersPerClass", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall mapper for hvert år. + /// + internal static string NumberOfFoldersPerYear { + get { + return ResourceManager.GetString("NumberOfFoldersPerYear", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall mapper uten registreringer eller undermapper. + /// + internal static string NumberOfFoldersWithoutRegistrationsOrSubfolders { + get { + return ResourceManager.GetString("NumberOfFoldersWithoutRegistrationsOrSubfolders", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall journalposter. + /// + internal static string NumberOfJournalPosts { + get { + return ResourceManager.GetString("NumberOfJournalPosts", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Dokumentfiler med referanse fra mer enn ett dokumentobjekt. + /// + internal static string NumberOfMultiReferencedDocumentFiles { + get { + return ResourceManager.GetString("NumberOfMultiReferencedDocumentFiles", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall presedenser. + /// + internal static string NumberOfPrecedents { + get { + return ResourceManager.GetString("NumberOfPrecedents", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall registreringer. + /// + internal static string NumberOfRegistrations { + get { + return ResourceManager.GetString("NumberOfRegistrations", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall registreringer for hver klasse (ikke medregnet registreringer under mappe). + /// + internal static string NumberOfRegistrationsPerClass { + get { + return ResourceManager.GetString("NumberOfRegistrationsPerClass", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall registreringer for hvert år. + /// + internal static string NumberOfRegistrationsPerYear { + get { + return ResourceManager.GetString("NumberOfRegistrationsPerYear", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall registreringer uten dokumentbeskrivelse. + /// + internal static string NumberOfRegistrationsWithoutDocumentDescription { + get { + return ResourceManager.GetString("NumberOfRegistrationsWithoutDocumentDescription", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Antall skjerminger. + /// + internal static string NumberOfRestrictions { + get { + return ResourceManager.GetString("NumberOfRestrictions", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Status på arkivdeler. + /// + internal static string StatusOfArchiveParts { + get { + return ResourceManager.GetString("StatusOfArchiveParts", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Systemidentifikasjoner. + /// + internal static string SystemIdUniqueControl { + get { + return ResourceManager.GetString("SystemIdUniqueControl", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Validering av sjekksummer. + /// + internal static string ValidateAddmlDataobjectsChecksums { + get { + return ResourceManager.GetString("ValidateAddmlDataobjectsChecksums", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Validering av antall dokumentfiler. + /// + internal static string ValidateNumberOfDocumentfiles { + get { + return ResourceManager.GetString("ValidateNumberOfDocumentfiles", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Validering av XML i henhold til skjema. + /// + internal static string ValidateXmlWithSchema { + get { + return ResourceManager.GetString("ValidateXmlWithSchema", resourceCulture); + } + } + } +} diff --git a/src/Arkivverket.Arkade/Resources/Noark5TestNames.resx b/src/Arkivverket.Arkade/Resources/Noark5TestNames.resx new file mode 100644 index 000000000..a31cb4f48 --- /dev/null +++ b/src/Arkivverket.Arkade/Resources/Noark5TestNames.resx @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Refererte dokumenters eksistens + + + Opprettelsesdatoer for første og siste registrering + + + Dokumentfiler som mangler referanse + + + Antall arkivdeler + + + Antall arkiv + + + Antall saksparter + + + Antall klasser + + + Antall klasser i det primære klassifikasjonssystemet uten underklasser, mapper eller registreringer + + + Antall klassifikasjonssystem + + + Antall merknader + + + Antall korrespondanseparter + + + Antall kryssreferanser + + + Antall avskrivninger + + + Antall dokumentbeskrivelser + + + Antall dokumentbeskrivelser uten dokumentobjekt + + + Antall dokumentflyter + + + Antall dokumentobjekter + + + Antall mapper + + + Antall mapper for hvert år + + + Antall mapper uten registreringer eller undermapper + + + Antall journalposter + + + Antall av ulike journalposttyper + + + Antall presedenser + + + Antall registreringer + + + Antall registreringer for hvert år + + + Antall registreringer uten dokumentbeskrivelse + + + Status på arkivdeler + + + Validering av sjekksummer + + + Validering av antall dokumentfiler + + + Validering av XML i henhold til skjema + + + Antall registreringer for hver klasse (ikke medregnet registreringer under mappe) + + + Antall av ulike journalstatuser + + + Antall av ulike dokumentstatuser + + + Antall av ulike dokumentformater + + + Dokumentfiler med referanse fra mer enn ett dokumentobjekt + + + Klasser med både underklasse(r) og mappe(r) + + + Antall graderinger + + + Antall kassasjonsvedtak + + + Antall utførte kassasjoner + + + Antall skjerminger + + + Antall konverterte dokumenter + + + Start- og sluttdatoer + + + Antall loggførte endringer + + + Endringslogg-referanser til arkivstrukturen + + + Systemidentifikasjoner + + + Klasser med både underklasse(r) og registrering(er) + + + Klassereferanser + + + Dokumentfilers sjekksummer + + + Antall mapper for hver klasse + + + Antall av ulike saksmappestatuser + + + Arkivdelreferanser + + \ No newline at end of file diff --git a/src/Arkivverket.Arkade/Tests/Noark5/ArchiveStartAndEndDateControl.cs b/src/Arkivverket.Arkade/Tests/Noark5/ArchiveStartAndEndDateControl.cs index 538680818..b35f83f3d 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/ArchiveStartAndEndDateControl.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/ArchiveStartAndEndDateControl.cs @@ -35,7 +35,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.ArchiveStartAndEndDateControl; + return Noark5TestNames.ArchiveStartAndEndDateControl; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/ArchivepartReferenceControl.cs b/src/Arkivverket.Arkade/Tests/Noark5/ArchivepartReferenceControl.cs index d6ea2c2bf..ce5c0ad04 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/ArchivepartReferenceControl.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/ArchivepartReferenceControl.cs @@ -20,7 +20,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.ArchivepartReferenceControl; + return Noark5TestNames.ArchivepartReferenceControl; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/ChangeLogArchiveReferenceControl.cs b/src/Arkivverket.Arkade/Tests/Noark5/ChangeLogArchiveReferenceControl.cs index 6065d7344..6948099d9 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/ChangeLogArchiveReferenceControl.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/ChangeLogArchiveReferenceControl.cs @@ -27,7 +27,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.ChangeLogArchiveReferenceControl; + return Noark5TestNames.ChangeLogArchiveReferenceControl; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/ClassReferenceControl.cs b/src/Arkivverket.Arkade/Tests/Noark5/ClassReferenceControl.cs index 250925b20..7ba1894d3 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/ClassReferenceControl.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/ClassReferenceControl.cs @@ -20,7 +20,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.ClassReferenceControl; + return Noark5TestNames.ClassReferenceControl; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/ControlDocumentFilesExists.cs b/src/Arkivverket.Arkade/Tests/Noark5/ControlDocumentFilesExists.cs index 98456b419..109c3bba5 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/ControlDocumentFilesExists.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/ControlDocumentFilesExists.cs @@ -27,7 +27,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.ControlDocumentFilesExists; + return Noark5TestNames.ControlDocumentFilesExists; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/ControlNoSuperclassesHasFolders.cs b/src/Arkivverket.Arkade/Tests/Noark5/ControlNoSuperclassesHasFolders.cs index da0389f2b..d698f11b3 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/ControlNoSuperclassesHasFolders.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/ControlNoSuperclassesHasFolders.cs @@ -22,7 +22,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.ControlNoSuperclassesHasFolders; + return Noark5TestNames.ControlNoSuperclassesHasFolders; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/ControlNoSuperclassesHasRegistrations.cs b/src/Arkivverket.Arkade/Tests/Noark5/ControlNoSuperclassesHasRegistrations.cs index 6456f3d52..41c730cdb 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/ControlNoSuperclassesHasRegistrations.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/ControlNoSuperclassesHasRegistrations.cs @@ -22,7 +22,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.ControlNoSuperclassesHasRegistrations; + return Noark5TestNames.ControlNoSuperclassesHasRegistrations; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/DocumentFilesChecksumControl.cs b/src/Arkivverket.Arkade/Tests/Noark5/DocumentFilesChecksumControl.cs index 302699e9c..7c39b0712 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/DocumentFilesChecksumControl.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/DocumentFilesChecksumControl.cs @@ -33,7 +33,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.DocumentFilesChecksumControl; + return Noark5TestNames.DocumentFilesChecksumControl; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/DocumentfilesReferenceControl.cs b/src/Arkivverket.Arkade/Tests/Noark5/DocumentfilesReferenceControl.cs index 639aa14e4..0174c9ad1 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/DocumentfilesReferenceControl.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/DocumentfilesReferenceControl.cs @@ -28,7 +28,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.DocumentfilesReferenceControl; + return Noark5TestNames.DocumentfilesReferenceControl; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/FirstAndLastRegistrationCreationDates.cs b/src/Arkivverket.Arkade/Tests/Noark5/FirstAndLastRegistrationCreationDates.cs index 221ab1e37..415a07198 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/FirstAndLastRegistrationCreationDates.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/FirstAndLastRegistrationCreationDates.cs @@ -24,7 +24,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.DatesFirstAndLastRegistration; + return Noark5TestNames.FirstAndLastRegistrationCreationDates; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/Noark5TestHelper.cs b/src/Arkivverket.Arkade/Tests/Noark5/Noark5TestHelper.cs index b345dc4f5..206053768 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/Noark5TestHelper.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/Noark5TestHelper.cs @@ -1,5 +1,6 @@ using System; using System.Globalization; +using System.IO; using System.Linq; using Arkivverket.Arkade.Core; using Arkivverket.Arkade.Core.Noark5; @@ -32,18 +33,58 @@ public static bool IdentifiesBaseRegistrationInRegistration(ReadElementEventArgs public static bool PeriodSeparationIsSharp(Archive archive) { - var archiveExtraction = GetAddmlObject(ArkadeConstants.ArkivuttrekkXmlFileName, archive); + bool inboundSeparationIsSharp; + bool outboundSeparationIsSharp; - dataObject archiveExtractionElement = archiveExtraction.dataset[0].dataObjects.dataObject[0]; - property infoElement = archiveExtractionElement.properties[0]; - property additionalInfoElement = infoElement.properties[1]; - property periodProperty = - additionalInfoElement.properties.FirstOrDefault(p => p.name == "periode"); + addml archiveExtraction = GetAddmlObject(ArkadeConstants.ArkivuttrekkXmlFileName, archive); - property inboundSeparation = periodProperty.properties[0]; - property outboundSeparation = periodProperty.properties[1]; + try + { + dataObject archiveExtractionElement = archiveExtraction.dataset[0].dataObjects.dataObject[0]; + property infoElement = archiveExtractionElement.properties[0]; + property additionalInfoElement = infoElement.properties[1]; + property periodProperty = + additionalInfoElement.properties.FirstOrDefault(p => p.name == "periode"); + + property inboundSeparationProperty = periodProperty.properties[0]; + property outboundSeparationProperty = periodProperty.properties[1]; + + inboundSeparationIsSharp = inboundSeparationProperty.value.Equals("skarp"); + outboundSeparationIsSharp = outboundSeparationProperty.value.Equals("skarp"); + } + catch + { + string exceptionMessage = string.Format(Resources.ExceptionMessages.PeriodSeparationParseError, ArkadeConstants.ArkivuttrekkXmlFileName); + + throw new ArkadeException(exceptionMessage); + } + + return inboundSeparationIsSharp && outboundSeparationIsSharp; + } + public static bool FileIsDescribed(string fileName, Archive archive) + { + addml archiveExtraction = GetAddmlObject(ArkadeConstants.ArkivuttrekkXmlFileName, archive); + + try + { + dataObject archiveExtractionElement = archiveExtraction.dataset[0].dataObjects.dataObject[0]; + + dataObject fileElement = archiveExtractionElement.dataObjects.dataObject.FirstOrDefault( + d => d.name == Path.GetFileNameWithoutExtension(fileName) + ); - return inboundSeparation.value.Equals("skarp") && outboundSeparation.value.Equals("skarp"); + return fileElement != null; + } + catch + { + string exceptionMessage = string.Format( + Resources.ExceptionMessages.FileDescriptionParseError, + fileName, + ArkadeConstants.ArkivuttrekkXmlFileName + ); + + throw new ArkadeException(exceptionMessage); + } } public static addml GetAddmlObject(string addmlXmlFileName, Archive archive) @@ -76,7 +117,11 @@ public static JournalHead GetJournalHead(string journalXmlFileName, Archive arch public static bool TryParseArchiveDate(string dateStringFromArchive, out DateTime dateTime) { - var acceptedFormats = new[] { "yyyy-MM-dd", "yyyy-MM-ddTHH:mm:ss", "yyyy-MM-ddTHH:mm:ssZ" }; + var acceptedFormats = new[] + { + "yyyy-MM-dd", // date only + "yyyy-MM-ddTHH:mm:ss.FFFFFFFK", // date + time [+ milliseconds] [+ timezone] + }; return DateTime.TryParseExact(dateStringFromArchive, acceptedFormats, CultureInfo.InvariantCulture, DateTimeStyles.RoundtripKind, out dateTime); diff --git a/src/Arkivverket.Arkade/Tests/Noark5/Noark5TestProvider.cs b/src/Arkivverket.Arkade/Tests/Noark5/Noark5TestProvider.cs index 601433ab0..fa176058a 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/Noark5TestProvider.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/Noark5TestProvider.cs @@ -6,19 +6,12 @@ namespace Arkivverket.Arkade.Tests.Noark5 { public class Noark5TestProvider: ITestProvider { - private readonly IArchiveContentReader _archiveReader; - - public Noark5TestProvider(IArchiveContentReader archiveReader) - { - _archiveReader = archiveReader; - } - public List GetStructureTests() { return new List { new ValidateAddmlDataobjectsChecksums(), - new ValidateXmlWithSchema(_archiveReader), + new ValidateXmlWithSchema(), new ValidateNumberOfDocumentfiles(), }; } @@ -39,7 +32,7 @@ public List GetContentTests(Archive archive) new NumberOfDocumentDescriptions(), new NumberOfDocumentDescriptionsWithoutDocumentObject(), new NumberOfDocumentObjects(), - new NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders(), + new NumberOfClassesInMainClassificationSystemWithoutSubClassesFoldersOrRegistrations(), new NumberOfCaseParts(), new ControlDocumentFilesExists(archive), new NumberOfComments(), diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfArchiveParts.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfArchiveParts.cs index f3e60b319..d326fc6d2 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfArchiveParts.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfArchiveParts.cs @@ -21,7 +21,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfArchiveParts; + return Noark5TestNames.NumberOfArchiveParts; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfArchives.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfArchives.cs index 28001bd44..aad389215 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfArchives.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfArchives.cs @@ -20,7 +20,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfArchives; + return Noark5TestNames.NumberOfArchives; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCaseParts.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCaseParts.cs index 486acb8f2..c4fe53eb1 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCaseParts.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCaseParts.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Runtime.Remoting.Messaging; using Arkivverket.Arkade.Core.Noark5; using Arkivverket.Arkade.Resources; using Arkivverket.Arkade.Util; @@ -21,7 +20,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfCaseParts; + return Noark5TestNames.NumberOfCaseParts; } public override TestType GetTestType() @@ -44,7 +43,7 @@ protected override List GetTestResults() if (casePartCount.Value > 0) { var testResult = new TestResult(ResultType.Success, new Location(string.Empty), - string.Format(Noark5Messages.NumberOfCasePartsMessage, casePartCount.Key, + string.Format(Noark5Messages.NumberOf_PerArchivePart, casePartCount.Key, casePartCount.Value)); testResults.Add(testResult); diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfChangesLogged.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfChangesLogged.cs index c11e27fe0..489bf7984 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfChangesLogged.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfChangesLogged.cs @@ -26,7 +26,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfChangesLogged; + return Noark5TestNames.NumberOfChangesLogged; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClasses.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClasses.cs index 5697a911e..a717b4844 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClasses.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClasses.cs @@ -18,7 +18,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfClasses; + return Noark5TestNames.NumberOfClasses; } protected override string GetResultMessage() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassesInMainClassificationSystemWithoutSubClassesFoldersOrRegistrations.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassesInMainClassificationSystemWithoutSubClassesFoldersOrRegistrations.cs new file mode 100644 index 000000000..8b7379db4 --- /dev/null +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassesInMainClassificationSystemWithoutSubClassesFoldersOrRegistrations.cs @@ -0,0 +1,118 @@ +using System.Collections.Generic; +using System.Linq; +using Arkivverket.Arkade.Core.Noark5; +using Arkivverket.Arkade.Resources; +using Arkivverket.Arkade.Util; + +namespace Arkivverket.Arkade.Tests.Noark5 +{ + public class NumberOfClassesInMainClassificationSystemWithoutSubClassesFoldersOrRegistrations + : Noark5XmlReaderBaseTest + { + private readonly TestId _id = new TestId(TestId.TestKind.Noark5, 9); + + private readonly Stack _classes = new Stack(); + private readonly Dictionary _emptyClassPerArchivePart = new Dictionary(); + private bool _hasPassedMainClassificationSystemForArchivePart; + + public override TestId GetId() + { + return _id; + } + + public override string GetName() + { + return Noark5TestNames.NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders; + } + + public override TestType GetTestType() + { + return TestType.ContentAnalysis; + } + + protected override List GetTestResults() + { + var testResults = new List(); + + if (_emptyClassPerArchivePart.Count > 1) + { + foreach (KeyValuePair emptyClassForArchivePart in _emptyClassPerArchivePart) + { + string message = string.Format( + Noark5Messages.NumberOf_PerArchivePart, + emptyClassForArchivePart.Key, + emptyClassForArchivePart.Value + ); + + testResults.Add(new TestResult(ResultType.Success, Location.Archive, message)); + } + } + else + { + testResults.Add(new TestResult(ResultType.Success, Location.Archive, + _emptyClassPerArchivePart.First().Value.ToString())); + } + + return testResults; + } + + protected override void ReadStartElementEvent(object sender, ReadElementEventArgs eventArgs) + { + if (_hasPassedMainClassificationSystemForArchivePart) + return; + + if (IsClassFolderOrRegistration(eventArgs) && _classes.Any()) + _classes.Peek().IsCountable = false; + + if (eventArgs.NameEquals("klasse")) + _classes.Push(new Class {IsCountable = true}); + } + + protected override void ReadAttributeEvent(object sender, ReadElementEventArgs eventArgs) + { + } + + protected override void ReadElementValueEvent(object sender, ReadElementEventArgs eventArgs) + { + if (eventArgs.Path.Matches("systemID", "arkivdel")) + { + _emptyClassPerArchivePart.Add(eventArgs.Value, 0); + + _hasPassedMainClassificationSystemForArchivePart = false; + } + } + + protected override void ReadEndElementEvent(object sender, ReadElementEventArgs eventArgs) + { + if (_hasPassedMainClassificationSystemForArchivePart) + return; + + if (eventArgs.NameEquals("klasse")) + { + Class currentClass = _classes.Pop(); + + if (currentClass.IsCountable) + { + string currentArchivePartId = _emptyClassPerArchivePart.Keys.Last(); + + _emptyClassPerArchivePart[currentArchivePartId]++; + } + } + + if (eventArgs.NameEquals("klassifikasjonssystem")) + _hasPassedMainClassificationSystemForArchivePart = true; + } + + private static bool IsClassFolderOrRegistration(ReadElementEventArgs eventArgs) + { + return eventArgs.NameEquals("klasse") + || eventArgs.NameEquals("mappe") + || eventArgs.NameEquals("registrering"); + } + + private class Class + { + public bool IsCountable { get; set; } + } + } +} diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders.cs deleted file mode 100644 index d4260e316..000000000 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System.Collections.Generic; -using Arkivverket.Arkade.Core.Noark5; -using Arkivverket.Arkade.Resources; -using Arkivverket.Arkade.Util; - -namespace Arkivverket.Arkade.Tests.Noark5 -{ - public class NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders : Noark5XmlReaderBaseTest - { - private readonly TestId _id = new TestId(TestId.TestKind.Noark5, 9); - - private int _classesWithoutSubClassOrFolder; - private bool _foundSubClassOrFolder; - private bool _isInsideClass; - private bool _isInsideMainClassificationSystem; - private bool _testingIsFinished; - - public override TestId GetId() - { - return _id; - } - - public override string GetName() - { - return Noark5Messages.NumberOfClassesInMainClassificationSystemWithoutSubClassesorFolders; - } - - public override TestType GetTestType() - { - return TestType.ContentAnalysis; - } - - protected override List GetTestResults() - { - return new List - { - new TestResult(ResultType.Success, Location.Archive, "" + _classesWithoutSubClassOrFolder) - }; - } - - protected override void ReadStartElementEvent(object sender, ReadElementEventArgs eventArgs) - { - if (_testingIsFinished) - { - return; - } - - if (!_isInsideMainClassificationSystem - && eventArgs.NameEquals("klassifikasjonssystem") - && eventArgs.Path.Matches("klassifikasjonssystem", "arkivdel", "arkiv")) - { - _isInsideMainClassificationSystem = true; - } - - if (eventArgs.NameEquals("klasse") - && eventArgs.Path.Matches("klasse", "klassifikasjonssystem")) - { - _isInsideClass = true; - } - - if ((_isInsideClass - && eventArgs.Path.Matches("klasse", "klasse", "klassifikasjonssystem")) - || eventArgs.Path.Matches("mappe", "klasse", "klassifikasjonssystem")) - { - _foundSubClassOrFolder = true; - } - } - - protected override void ReadEndElementEvent(object sender, ReadElementEventArgs eventArgs) - { - if (_testingIsFinished) - { - return; - } - - if (_isInsideClass && (eventArgs.NameEquals("klasse") & eventArgs.Path.Matches("klassifikasjonssystem"))) - { - _isInsideClass = false; - if (!_foundSubClassOrFolder) - { - _classesWithoutSubClassOrFolder++; - } - - _foundSubClassOrFolder = false; - } - - if (_isInsideMainClassificationSystem && eventArgs.NameEquals("klassifikasjonssystem")) - { - _testingIsFinished = true; - } - } - - protected override void ReadAttributeEvent(object sender, ReadElementEventArgs eventArgs) - { - } - - protected override void ReadElementValueEvent(object sender, ReadElementEventArgs eventArgs) - { - } - } -} \ No newline at end of file diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassificationSystems.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassificationSystems.cs index 2cf9233c6..cc211201e 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassificationSystems.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassificationSystems.cs @@ -20,7 +20,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfClassificationSystems; + return Noark5TestNames.NumberOfClassificationSystems; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassifications.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassifications.cs index 921b11708..8c56157fc 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassifications.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfClassifications.cs @@ -21,7 +21,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfClassifications; + return Noark5TestNames.NumberOfClassifications; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfComments.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfComments.cs index b60132aba..72b603328 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfComments.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfComments.cs @@ -20,7 +20,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfComments; + return Noark5TestNames.NumberOfComments; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfConversions.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfConversions.cs index 8696eaa64..3f110ec5e 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfConversions.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfConversions.cs @@ -20,7 +20,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfConversions; + return Noark5TestNames.NumberOfConversions; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCorrespondenceParts.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCorrespondenceParts.cs index c77c66e02..2aff8c481 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCorrespondenceParts.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCorrespondenceParts.cs @@ -21,7 +21,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfCorrespondenceParts; + return Noark5TestNames.NumberOfCorrespondenceParts; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCrossReferences.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCrossReferences.cs index 60cf56e1f..c6abb8d18 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCrossReferences.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfCrossReferences.cs @@ -19,7 +19,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfCrossReferences; + return Noark5TestNames.NumberOfCrossReferences; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDepreciations.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDepreciations.cs index f76c7414d..bbf821612 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDepreciations.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDepreciations.cs @@ -21,7 +21,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfDepreciations; + return Noark5TestNames.NumberOfDepreciations; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDisposalResolutions.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDisposalResolutions.cs index 46e61ae22..15f0731e1 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDisposalResolutions.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDisposalResolutions.cs @@ -31,7 +31,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfDisposalResolutions; + return Noark5TestNames.NumberOfDisposalResolutions; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDisposalsExecuted.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDisposalsExecuted.cs index 8f57b6e6b..e9c1e94a8 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDisposalsExecuted.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDisposalsExecuted.cs @@ -29,7 +29,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfDisposalsExecuted; + return Noark5TestNames.NumberOfDisposalsExecuted; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentDescriptions.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentDescriptions.cs index f45811024..9ca7bd56d 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentDescriptions.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentDescriptions.cs @@ -20,7 +20,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfDocumentDescriptions; + return Noark5TestNames.NumberOfDocumentDescriptions; } public override TestType GetTestType() @@ -41,7 +41,7 @@ protected override List GetTestResults() foreach (KeyValuePair documentDescriptionCount in _documentDescriptionsPerArchivePart) { var testResult = new TestResult(ResultType.Success, new Location(string.Empty), - string.Format(Noark5Messages.NumberOfDocumentDescriptionsPerArchivePartMessage, + string.Format(Noark5Messages.NumberOf_PerArchivePart, documentDescriptionCount.Key, documentDescriptionCount.Value)); testResults.Add(testResult); diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentDescriptionsWithoutDocumentObject.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentDescriptionsWithoutDocumentObject.cs index e0107bef7..211aec5ab 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentDescriptionsWithoutDocumentObject.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentDescriptionsWithoutDocumentObject.cs @@ -21,7 +21,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfDocumentDescriptionsWithoutDocumentObject; + return Noark5TestNames.NumberOfDocumentDescriptionsWithoutDocumentObject; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentFlows.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentFlows.cs index f29482ece..309a45a25 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentFlows.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentFlows.cs @@ -21,7 +21,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfDocumentFlows; + return Noark5TestNames.NumberOfDocumentFlows; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentObjects.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentObjects.cs index a620bf377..55d8920de 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentObjects.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfDocumentObjects.cs @@ -20,7 +20,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfDocumentObjects; + return Noark5TestNames.NumberOfDocumentObjects; } public override TestType GetTestType() @@ -42,7 +42,7 @@ protected override List GetTestResults() if (documentObjectsCount.Value > 0) { var testresult = new TestResult(ResultType.Success, new Location(string.Empty), - string.Format(Noark5Messages.NumberOfDocumentObjectsMessage, documentObjectsCount.Key, + string.Format(Noark5Messages.NumberOf_PerArchivePart, documentObjectsCount.Key, documentObjectsCount.Value)); testResults.Add(testresult); diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachCaseFolderStatus.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachCaseFolderStatus.cs index 19f4e27e2..10e82beb3 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachCaseFolderStatus.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachCaseFolderStatus.cs @@ -22,7 +22,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfEachCaseFolderStatus; + return Noark5TestNames.NumberOfEachCaseFolderStatus; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachDocumentFormat.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachDocumentFormat.cs index 0f8e23f50..f112fe866 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachDocumentFormat.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachDocumentFormat.cs @@ -23,7 +23,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfEachDocumentFormat; + return Noark5TestNames.NumberOfEachDocumentFormat; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachDocumentStatus.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachDocumentStatus.cs index caff21657..dc7cc9395 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachDocumentStatus.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachDocumentStatus.cs @@ -22,7 +22,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfEachDocumentStatus; + return Noark5TestNames.NumberOfEachDocumentStatus; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachJournalPostType.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachJournalPostType.cs index 775c41bdd..f73a93afc 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachJournalPostType.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachJournalPostType.cs @@ -25,7 +25,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfEachJournalPostType; + return Noark5TestNames.NumberOfEachJournalPostType; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachJournalStatus.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachJournalStatus.cs index c850905f6..e8ab542c8 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachJournalStatus.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfEachJournalStatus.cs @@ -22,7 +22,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfEachJournalStatus; + return Noark5TestNames.NumberOfEachJournalStatus; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFolders.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFolders.cs index a231b2def..82b2cc6e7 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFolders.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFolders.cs @@ -18,7 +18,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfFolders; + return Noark5TestNames.NumberOfFolders; } protected override string GetResultMessage() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersPerClass.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersPerClass.cs index 05d02d0ae..54304159b 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersPerClass.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersPerClass.cs @@ -22,7 +22,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfFoldersPerClass; + return Noark5TestNames.NumberOfFoldersPerClass; } public override TestType GetTestType() @@ -67,7 +67,7 @@ protected override void ReadStartElementEvent(object sender, ReadElementEventArg if (eventArgs.NameEquals("klasse")) _currentClass = new Class {ArchivePartSystemId = _currentArchivePartSystemId}; - if (eventArgs.Path.Matches("mappe", "klasse")) + if (eventArgs.Path.Matches("mappe", "klasse") && _currentClass != null) _currentClass.NumberOfFolders++; } diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersPerYear.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersPerYear.cs index 34e7c014d..dcc2d8b0a 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersPerYear.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersPerYear.cs @@ -21,7 +21,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfFoldersPerYear; + return Noark5TestNames.NumberOfFoldersPerYear; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersWithoutRegistrationsOrSubfolders.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersWithoutRegistrationsOrSubfolders.cs index 0c607ecac..1d3aabab7 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersWithoutRegistrationsOrSubfolders.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfFoldersWithoutRegistrationsOrSubfolders.cs @@ -24,7 +24,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfFoldersWithoutRegistrationsOrSubfolders; + return Noark5TestNames.NumberOfFoldersWithoutRegistrationsOrSubfolders; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfJournalPosts.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfJournalPosts.cs index 3ef50e8f6..61b15d01f 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfJournalPosts.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfJournalPosts.cs @@ -43,7 +43,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfJournalPosts; + return Noark5TestNames.NumberOfJournalPosts; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfMultiReferencedDocumentFiles.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfMultiReferencedDocumentFiles.cs index ee47834a4..00468a0e7 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfMultiReferencedDocumentFiles.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfMultiReferencedDocumentFiles.cs @@ -22,7 +22,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfMultiReferencedDocumentFiles; + return Noark5TestNames.NumberOfMultiReferencedDocumentFiles; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfPrecedents.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfPrecedents.cs index fc1c99833..031f2568f 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfPrecedents.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfPrecedents.cs @@ -27,7 +27,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfPrecedents; + return Noark5TestNames.NumberOfPrecedents; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrations.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrations.cs index 1a675e88d..ea4586913 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrations.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrations.cs @@ -19,7 +19,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfRegistrations; + return Noark5TestNames.NumberOfRegistrations; } protected override string GetResultMessage() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsPerClass.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsPerClass.cs index a4e9e2484..752bc8cac 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsPerClass.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsPerClass.cs @@ -22,7 +22,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfRegistrationsPerClass; + return Noark5TestNames.NumberOfRegistrationsPerClass; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsPerYear.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsPerYear.cs index 83b07cba5..8f39515fb 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsPerYear.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsPerYear.cs @@ -21,7 +21,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfRegistrationsPerYear; + return Noark5TestNames.NumberOfRegistrationsPerYear; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsWithoutDocumentDescription.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsWithoutDocumentDescription.cs index 9880239f4..e7cf5f897 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsWithoutDocumentDescription.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRegistrationsWithoutDocumentDescription.cs @@ -21,7 +21,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfRegistrationsWithoutDocumentDescription; + return Noark5TestNames.NumberOfRegistrationsWithoutDocumentDescription; } public override TestType GetTestType() @@ -43,7 +43,7 @@ protected override List GetTestResults() if (noDocumentDescriptionCount.Value > 0) { var testResult = new TestResult(ResultType.Success, new Location(string.Empty), string.Format( - Noark5Messages.NumberOfRegistrationsWithoutDocumentDescription_ForArchivePart, + Noark5Messages.NumberOf_PerArchivePart, noDocumentDescriptionCount.Key, noDocumentDescriptionCount.Value)); testResults.Add(testResult); diff --git a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRestrictions.cs b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRestrictions.cs index a7957af5e..4a09d7ccf 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRestrictions.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/NumberOfRestrictions.cs @@ -33,7 +33,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.NumberOfRestrictions; + return Noark5TestNames.NumberOfRestrictions; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/StatusOfArchiveParts.cs b/src/Arkivverket.Arkade/Tests/Noark5/StatusOfArchiveParts.cs index a0846bdd3..a491195d0 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/StatusOfArchiveParts.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/StatusOfArchiveParts.cs @@ -20,7 +20,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.StatusOfArchiveParts; + return Noark5TestNames.StatusOfArchiveParts; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateAddmlDataobjectsChecksums.cs b/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateAddmlDataobjectsChecksums.cs index ee72af5fb..7e2e24082 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateAddmlDataobjectsChecksums.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateAddmlDataobjectsChecksums.cs @@ -18,7 +18,7 @@ public class ValidateAddmlDataobjectsChecksums : Noark5StructureBaseTest public override void Test(Archive archive) { - var structure = SerializeUtil.DeserializeFromFile(archive.GetStructureDescriptionFileName()); + var structure = SerializeUtil.DeserializeFromFile(archive.AddmlFile.FullName); foreach (var entry in structure.dataset[0].dataObjects.dataObject) { @@ -88,7 +88,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.ValidateAddmlDataobjectsChecksums; + return Noark5TestNames.ValidateAddmlDataobjectsChecksums; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateNumberOfDocumentfiles.cs b/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateNumberOfDocumentfiles.cs index e53ab72e1..ff80a169e 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateNumberOfDocumentfiles.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateNumberOfDocumentfiles.cs @@ -23,7 +23,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.ValidateNumberOfDocumentfiles; + return Noark5TestNames.ValidateNumberOfDocumentfiles; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateXmlWithSchema.cs b/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateXmlWithSchema.cs index 9fd0a4b86..dc0b36465 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateXmlWithSchema.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/Structure/ValidateXmlWithSchema.cs @@ -18,39 +18,37 @@ public class ValidateXmlWithSchema : Noark5StructureBaseTest { private readonly TestId _id = new TestId(TestId.TestKind.Noark5, 3); - private readonly IArchiveContentReader _archiveReader; private readonly List _testResults = new List(); - public ValidateXmlWithSchema(IArchiveContentReader archiveReader) - { - _archiveReader = archiveReader; - } - public override void Test(Archive archive) { - ValidateXml(archive.GetStructureDescriptionFileName(), _archiveReader.GetStructureContentAsStream(archive), + ValidateXml(archive.AddmlFile.FullName, archive.AddmlFile.AsStream(), GetStructureDescriptionXmlSchemaStream(archive)); - ValidateXml(archive.GetContentDescriptionFileName(), _archiveReader.GetContentAsStream(archive), + ValidateXml(archive.ArchiveStructureFile.FullName, archive.ArchiveStructureFile.AsStream(), GetContentDescriptionXmlSchemaStream(archive), GetMetadataCatalogXmlSchemaStream(archive)); + + if (Noark5TestHelper.FileIsDescribed(ArkadeConstants.PublicJournalXmlFileName, archive)) + ValidateXml(archive.PublicJournalFile.FullName, archive.PublicJournalFile.AsStream(), + GetPublicJournalXmlSchemaStream(archive), GetMetadataCatalogXmlSchemaStream(archive)); + + if (Noark5TestHelper.FileIsDescribed(ArkadeConstants.RunningJournalXmlFileName, archive)) + ValidateXml(archive.RunningJournalFile.FullName, archive.RunningJournalFile.AsStream(), + GetRunningJournalXmlSchemaStream(archive), GetMetadataCatalogXmlSchemaStream(archive)); } private void ValidateXml(string fullPathToFile, Stream fileStream, params Stream[] xsdResources) { string fileName = Path.GetFileName(fullPathToFile); + + // Use the Noark 5 archive filename for testresults: + if (fileName.Equals(ArkadeConstants.AddmlXmlFileName)) + fileName = ArkadeConstants.ArkivuttrekkXmlFileName; + try { - List validationErrorMessages = new XmlValidator().Validate(fileStream, xsdResources); - if (validationErrorMessages.Any()) - foreach (string validationErrorMessage in validationErrorMessages) - { - _testResults.Add(new TestResult(ResultType.Error, new Location(string.Empty), - string.Format(Noark5Messages.XmlDoesNotValidateWithSchema, - fileName, validationErrorMessage))); - } - else - _testResults.Add(new TestResult(ResultType.Success, new Location(fileName), - Noark5Messages.ValidateXmlWithSchemaMessageValid)); + foreach (string validationErrorMessage in new XmlValidator().Validate(fileStream, xsdResources)) + _testResults.Add(new TestResult(ResultType.Error, new Location(fileName), validationErrorMessage)); } catch (Exception e) { @@ -61,8 +59,8 @@ private void ValidateXml(string fullPathToFile, Stream fileStream, params Stream private Stream GetStructureDescriptionXmlSchemaStream(Archive archive) { - if (archive.HasStructureDescriptionXmlSchema()) - return _archiveReader.GetStructureDescriptionXmlSchemaAsStream(archive); + if (archive.AddmlSchemaFile.Exists) + return archive.AddmlSchemaFile.AsStream(); // Fallback on internal addml.xsd: @@ -75,8 +73,8 @@ private Stream GetStructureDescriptionXmlSchemaStream(Archive archive) private Stream GetContentDescriptionXmlSchemaStream(Archive archive) { - if (archive.HasContentDescriptionXmlSchema()) - return _archiveReader.GetContentDescriptionXmlSchemaAsStream(archive); + if (archive.ArchiveStructureSchemaFile.Exists) + return archive.ArchiveStructureSchemaFile.AsStream(); // Fallback on internal arkivstruktur.xsd: @@ -89,8 +87,8 @@ private Stream GetContentDescriptionXmlSchemaStream(Archive archive) private Stream GetMetadataCatalogXmlSchemaStream(Archive archive) { - if (archive.HasMetadataCatalogXmlSchema()) - return _archiveReader.GetMetadataCatalogXmlSchemaAsStream(archive); + if (archive.MetadataCatalogSchemaFile.Exists) + return archive.MetadataCatalogSchemaFile.AsStream(); // Fallback on internal metadatakatalog.xsd: @@ -101,6 +99,34 @@ private Stream GetMetadataCatalogXmlSchemaStream(Archive archive) return ResourceUtil.GetResourceAsStream(ArkadeConstants.MetadatakatalogXsdResource); } + private Stream GetPublicJournalXmlSchemaStream(Archive archive) + { + if (archive.PublicJournalSchemaFile.Exists) + return archive.PublicJournalSchemaFile.AsStream(); + + // Fallback on internal schema for public journal: + + _testResults.Add(new TestResult(ResultType.Error, new Location(string.Empty), + // TODO: Consider ResultType.Warning (if it becomes supported) + string.Format(Noark5Messages.InternalSchemaFileIsUsed, ArkadeConstants.PublicJournalXsdFileName))); + + return ResourceUtil.GetResourceAsStream(ArkadeConstants.PublicJournalXsdResource); + } + + private Stream GetRunningJournalXmlSchemaStream(Archive archive) + { + if (archive.RunningJournalSchemaFile.Exists) + return archive.RunningJournalSchemaFile.AsStream(); + + // Fallback on internal schema for running journal: + + _testResults.Add(new TestResult(ResultType.Error, new Location(string.Empty), + // TODO: Consider ResultType.Warning (if it becomes supported) + string.Format(Noark5Messages.InternalSchemaFileIsUsed, ArkadeConstants.RunningJournalXsdFileName))); + + return ResourceUtil.GetResourceAsStream(ArkadeConstants.RunningJournalXsdResource); + } + public override TestId GetId() { return _id; @@ -108,7 +134,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.ValidateXmlWithSchema; + return Noark5TestNames.ValidateXmlWithSchema; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Tests/Noark5/SystemIdUniqueControl.cs b/src/Arkivverket.Arkade/Tests/Noark5/SystemIdUniqueControl.cs index 633555c19..1f4b4f9c6 100644 --- a/src/Arkivverket.Arkade/Tests/Noark5/SystemIdUniqueControl.cs +++ b/src/Arkivverket.Arkade/Tests/Noark5/SystemIdUniqueControl.cs @@ -18,7 +18,7 @@ public override TestId GetId() public override string GetName() { - return Noark5Messages.SystemIdUniqueControl; + return Noark5TestNames.SystemIdUniqueControl; } public override TestType GetTestType() diff --git a/src/Arkivverket.Arkade/Util/ArkadeAutofacModule.cs b/src/Arkivverket.Arkade/Util/ArkadeAutofacModule.cs index 5b0c6f955..efe965902 100644 --- a/src/Arkivverket.Arkade/Util/ArkadeAutofacModule.cs +++ b/src/Arkivverket.Arkade/Util/ArkadeAutofacModule.cs @@ -16,7 +16,6 @@ protected override void Load(ContainerBuilder builder) { builder.RegisterType().AsSelf(); builder.RegisterType().AsSelf(); - builder.RegisterType().As(); builder.RegisterType().As(); builder.RegisterType().AsSelf(); builder.RegisterType().AsSelf(); diff --git a/src/Arkivverket.Arkade/Util/ArkadeConstants.cs b/src/Arkivverket.Arkade/Util/ArkadeConstants.cs index 9476329f7..123071ed8 100644 --- a/src/Arkivverket.Arkade/Util/ArkadeConstants.cs +++ b/src/Arkivverket.Arkade/Util/ArkadeConstants.cs @@ -2,6 +2,8 @@ namespace Arkivverket.Arkade.Util { public class ArkadeConstants { + public const string SystemLogFileNameFormat = "arkade-{Date}.log"; + public const string NoarkihXmlFileName = "NOARKIH.XML"; public const string AddmlXmlFileName = "addml.xml"; public const string AddmlXsdFileName = "addml.xsd"; @@ -19,7 +21,9 @@ public class ArkadeConstants public const string LogXmlFileName = "log.xml"; public const string ArkivuttrekkXmlFileName = "arkivuttrekk.xml"; public const string PublicJournalXmlFileName = "offentligJournal.xml"; + public const string PublicJournalXsdFileName = "offentligJournal.xsd"; public const string RunningJournalXmlFileName = "loependeJournal.xml"; + public const string RunningJournalXsdFileName = "loependeJournal.xsd"; public const string ChangeLogXmlFileName = "endringslogg.xml"; public const string MetadataPredefinedFieldValuesFileName = "metadata-feltverdier.xml"; @@ -28,6 +32,8 @@ public class ArkadeConstants public const string MetadatakatalogXsdResource = "Arkivverket.Arkade.ExternalModels.xsd.metadatakatalog.xsd"; public const string DiasPremisXsdResource = "Arkivverket.Arkade.ExternalModels.xsd.DIAS_PREMIS.xsd"; public const string DiasMetsXsdResource = "Arkivverket.Arkade.ExternalModels.xsd.mets.xsd"; + public const string PublicJournalXsdResource = "Arkivverket.Arkade.ExternalModels.xsd.offentligJournal.xsd"; + public const string RunningJournalXsdResource = "Arkivverket.Arkade.ExternalModels.xsd.loependeJournal.xsd"; public const string DirectoryNameArkadeProcessingAreaRoot = "Arkade"; public const string DirectoryNameArkadeProcessingAreaWork = "work"; diff --git a/src/Arkivverket.Arkade/Util/ArkadeFile.cs b/src/Arkivverket.Arkade/Util/ArkadeFile.cs index 957085493..55a66ee33 100644 --- a/src/Arkivverket.Arkade/Util/ArkadeFile.cs +++ b/src/Arkivverket.Arkade/Util/ArkadeFile.cs @@ -1,6 +1,36 @@ +using System; +using System.IO; +using Arkivverket.Arkade.Core; +using Arkivverket.Arkade.Resources; + namespace Arkivverket.Arkade.Util { public class ArkadeFile { + public string Name { get; } + public string FullName { get; } + public bool Exists { get; } + + public ArkadeFile(FileSystemInfo fileInfo) + { + Name = fileInfo.Name; + FullName = fileInfo.FullName; + Exists = fileInfo.Exists; + } + + public Stream AsStream() + { + if (!Exists) + throw new ArkadeException(string.Format(ExceptionMessages.FileNotFound, FullName)); + + try + { + return File.OpenRead(FullName); + } + catch (Exception e) + { + throw new ArkadeException(string.Format(ExceptionMessages.FileNotRead, FullName), e); + } + } } } diff --git a/src/Arkivverket.Arkade/Util/Sha256ChecksumGenerator.cs b/src/Arkivverket.Arkade/Util/Sha256ChecksumGenerator.cs index ffa342b2d..949e04349 100644 --- a/src/Arkivverket.Arkade/Util/Sha256ChecksumGenerator.cs +++ b/src/Arkivverket.Arkade/Util/Sha256ChecksumGenerator.cs @@ -13,7 +13,7 @@ public class Sha256ChecksumGenerator : IChecksumGenerator /// public string GenerateChecksum(string pathToFile) { - HashAlgorithm h = HashAlgorithm.Create("SHA256"); + HashAlgorithm h = (HashAlgorithm) CryptoConfig.CreateFromName("SHA256"); if (h == null) { throw new ArkadeException("Checksum algorithm SHA-256 not supported."); diff --git a/src/Arkivverket.Arkade/Util/SystemInfo.cs b/src/Arkivverket.Arkade/Util/SystemInfo.cs index 31162d9ac..2948db585 100644 --- a/src/Arkivverket.Arkade/Util/SystemInfo.cs +++ b/src/Arkivverket.Arkade/Util/SystemInfo.cs @@ -1,47 +1,11 @@ using System; using System.IO; using Arkivverket.Arkade.Core; -using Microsoft.Win32; namespace Arkivverket.Arkade.Util { public class SystemInfo { - public static ulong GetTotalPhysicalMemoryInBytes() - { - return new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory; - } - - public static ulong GetTotalVirtualMemoryInBytes() - { - return new Microsoft.VisualBasic.Devices.ComputerInfo().TotalVirtualMemory; - } - - public static ulong GetAvailablePhysicalMemoryInBytes() - { - return new Microsoft.VisualBasic.Devices.ComputerInfo().AvailablePhysicalMemory; - } - - public static ulong GetAvailableVirtualMemoryInBytes() - { - return new Microsoft.VisualBasic.Devices.ComputerInfo().AvailableVirtualMemory; - } - - public static string GetOsName() - { - return new Microsoft.VisualBasic.Devices.ComputerInfo().OSFullName; - } - - public static string GetOsPlatform() - { - return new Microsoft.VisualBasic.Devices.ComputerInfo().OSPlatform; - } - - public static string GetOsVersion() - { - return new Microsoft.VisualBasic.Devices.ComputerInfo().OSVersion; - } - public static long GetAvailableDiskSpaceInBytes() { DirectoryInfo arkadeDirectory = ArkadeProcessingArea.RootDirectory; @@ -74,18 +38,6 @@ public static long GetTotalDiskSpaceInBytes() return -1; } - public static int GetDotNetFrameworkVersion() - { - using ( - RegistryKey ndpKey = - RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32) - .OpenSubKey("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full\\")) - { - object value = ndpKey.GetValue("Release"); - return value == null ? -1 : Convert.ToInt32(value); - } - } - public static string GetDotNetClrVersion() { return Environment.Version.ToString(); diff --git a/src/Arkivverket.Arkade/Util/XmlValidator.cs b/src/Arkivverket.Arkade/Util/XmlValidator.cs index 99671ecde..cee15246f 100644 --- a/src/Arkivverket.Arkade/Util/XmlValidator.cs +++ b/src/Arkivverket.Arkade/Util/XmlValidator.cs @@ -67,7 +67,11 @@ private XmlReaderSettings SetupXmlValidation(IEnumerable xmlSchemas) private void ValidationCallBack(object sender, ValidationEventArgs args) { - _validationErrorMessages.Add(args.Message); + _validationErrorMessages.Add(string.Format( + Resources.ExceptionMessages.XmlValidationErrorMessage, + args.Exception.LineNumber, + args.Message + )); } } } diff --git a/src/Arkivverket.Arkade/app.config b/src/Arkivverket.Arkade/app.config deleted file mode 100644 index cd844f7ef..000000000 --- a/src/Arkivverket.Arkade/app.config +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Arkivverket.Arkade/packages.config b/src/Arkivverket.Arkade/packages.config deleted file mode 100644 index 70220f137..000000000 --- a/src/Arkivverket.Arkade/packages.config +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file