public AllureLifecycle(string jsonConfigurationFile)
 {
     JsonConfiguration   = File.ReadAllText(jsonConfigurationFile);
     AllureConfiguration = AllureConfiguration.ReadFromJson(JsonConfiguration);
     writer  = new FileSystemResultsWriter(AllureConfiguration);
     storage = new AllureStorage();
 }
        internal FileSystemResultsWriter(AllureConfiguration configuration)
        {
            this.configuration = configuration;
            outputDirectory    = GetResultsDirectory(configuration.Directory);

            serializer.NullValueHandling = NullValueHandling.Ignore;
            serializer.Formatting        = Formatting.Indented;
            serializer.Converters.Add(new StringEnumConverter());
        }
Beispiel #3
0
        public void ShouldCleanupTempResultsFolder()
        {
            var resultsDirectory = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
            var json             = $"{{\"allure\":{{\"directory\": {JsonConvert.ToString(resultsDirectory)}}}}}";
            var config           = AllureConfiguration.ReadFromJson(json);

            Directory.CreateDirectory(resultsDirectory);
            File.WriteAllText(Path.Combine(resultsDirectory, Path.GetRandomFileName()), "");

            new FileSystemResultsWriter(config).CleanUp();
            Assert.IsEmpty(Directory.GetFiles(resultsDirectory));
        }
Beispiel #4
0
        public void ShouldUseTempPathIfNoAccessToResultsDirectory()
        {
            var config      = AllureConfiguration.ReadFromJson(@"{allure:{}}");
            var expectedDir = Path.Combine(Path.GetTempPath(), AllureConstants.DEFAULT_RESULTS_FOLDER);
            var moq         = new Mock <FileSystemResultsWriter>(config)
            {
                CallBase = true
            };

            moq.Setup(x => x.HasDirectoryAccess(It.IsAny <string>())).Returns(false);
            Assert.AreEqual(expectedDir, moq.Object.ToString());
        }
Beispiel #5
0
        public void Cleanup()
        {
            var resultsDirectory = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
            var config           = new AllureConfiguration()
            {
                Directory = resultsDirectory
            };

            Directory.CreateDirectory(resultsDirectory);
            File.WriteAllText(Path.Combine(resultsDirectory, Path.GetRandomFileName()), "");

            new FileSystemResultsWriter(config).CleanUp();
            Assert.IsEmpty(Directory.GetFiles(resultsDirectory));
        }
        private AllureConfiguration ReadJsonConfiguration(string json)
        {
            AllureConfiguration config = new AllureConfiguration();

            var jo            = JObject.Parse(json);
            var allureSection = jo["allure"];

            if (allureSection != null)
            {
                config = allureSection?.ToObject <AllureConfiguration>();
            }

            return(AllureConfiguration = config);
        }
Beispiel #7
0
        public void ShouldCleanupTempResultsFolder()
        {
            var config = new AllureConfiguration()
            {
                Directory = Environment.CurrentDirectory
            };
            var expectedDir = Path.Combine(Path.GetTempPath(), AllureConstants.DEFAULT_RESULTS_FOLDER);
            var moq         = new Mock <FileSystemResultsWriter>(config)
            {
                CallBase = true
            };

            moq.Setup(x => x.HasDirectoryAccess(It.IsAny <string>())).Returns(false);
            Assert.AreEqual(expectedDir, moq.Object.ToString());
        }
Beispiel #8
0
        public AllureLifecycle(string jsonConfigurationFile = null)
        {
            if (jsonConfigurationFile != null)
            {
                JsonConfiguration = File.ReadAllText(jsonConfigurationFile);
            }
            else
            {
                JsonConfiguration = File.ReadAllText(GetDefaultJsonConfiguration());
            }

            AllureConfiguration = AllureConfiguration.ReadFromJson(JsonConfiguration);
            writer  = new FileSystemResultsWriter(AllureConfiguration);
            storage = new AllureStorage();
        }