Esempio n. 1
0
        public void TestFileReader_LoadsFileWithLibraryName_ReturnsLibraryName()
        {
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");
            testReader.GetLibraryName().Should().Be("BadgerTests.dll");
        }
Esempio n. 2
0
        public void TestFileReader_LoadsFileWithCustomKeywords_ParsesCustomKeywords()
        {
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");
            var keywords = testReader.GetKeywords();

            keywords.Should().HaveCount(2);
            keywords[0].Keyword.Should().Be("Start and login");
            keywords[0].Inputs[0].Should().Be("user");
            keywords[0].Inputs[1].Should().Be("password");

            keywords.First(k => k.Keyword == "Start and login").Steps[0].Keyword.Should().Be("Start app");
            keywords.First(k => k.Keyword == "Start and login")
            .Steps.First(s => s.Keyword == "Start app")
            .Inputs.Should().HaveCount(0);
            keywords.First(k => k.Keyword == "Start and login").Steps[1].Keyword.Should().Be("Login");
            keywords.First(k => k.Keyword == "Start and login")
            .Steps.First(s => s.Keyword == "Login")
            .Inputs.Should().HaveCount(2);
            keywords[0].Steps[1].Inputs["user"].Should().Be("${user}");
            keywords[0].Steps[1].Inputs["password"].Should().Be("${password}");

            keywords[1].Keyword.Should().Be("Close app");
            keywords.First(k => k.Keyword == "Close app").Steps.Should().HaveCount(2);
            keywords.First(k => k.Keyword == "Close app").Steps[1].Keyword.Should().Be("Exit");
            keywords.First(k => k.Keyword == "Close app")
            .Steps.First(s => s.Keyword == "Exit")
            .Inputs.Should().HaveCount(0);
        }
        public async void TestReadFile()
        {
            var jsonStr          = RepositoryHelper.ReadFile(Constants.DB_FILE);
            var expectedJsonText = await TestFileReader.ReadFileAsync(Constants.DB_FILE);

            Assert.Equal(expectedJsonText, jsonStr);
        }
        public void TestReadingFile_WhenFilePath_isValid_FileIsReaded()
        {
            var textFileReader = new TestFileReader();
            var result         = textFileReader.Read(@"C:\Users\bassem\Desktop\TrainingUpselling.txt");

            Assert.IsNotNull(result);
        }
Esempio n. 5
0
        public TestFileReader LoadFile(string strFileName)
        {
            // The SolverFoundation stuff has no base class in UnitTests so just load the file directly here.
            var tdf = new TestFileReader(/*isTwoDimensional:*/ false);

            tdf.Load(strFileName);
            return(tdf);
        }
Esempio n. 6
0
        public void TestFileReader_ParsesTags_WhenFileContainsTagsSetting()
        {
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");
            testReader.GetTags().Should().HaveCount(2);
            testReader.GetTags().Should().Contain("NotOnStaging");
            testReader.GetTags().Should().Contain("SmokeTest");
        }
        public async void TestWriteFile()
        {
            var expectedJsonText = await TestFileReader.ReadFileAsync(Constants.DB_FILE_UPDATE_HELPER);

            RepositoryHelper.WriteFile(Constants.DB_FILE_UPDATE_HELPER, expectedJsonText);
            var actualJsonText = RepositoryHelper.ReadFile(Constants.DB_FILE_UPDATE_HELPER);

            Assert.Equal(expectedJsonText, actualJsonText);
        }
Esempio n. 8
0
        public void TestFileReader_GetTeardown_ReturnsTeardownSteps()
        {
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");

            var teardown = testReader.GetTeardown();

            teardown.Should().HaveCount(1);
            teardown[0].Inputs.Should().HaveCount(0);
        }
 public void TestReadingFile_WhenFilePath_isNull_exceptionIsThrown()
 {
     try
     {
         var textFileReader = new TestFileReader();
         textFileReader.Read(null);
     }
     catch (ArgumentNullException ex)
     {
         Assert.IsNotNull(ex.Message);
     }
 }
Esempio n. 10
0
        public void TestFileReader_GetSetup_ReturnsSetupSteps()
        {
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");

            var setup = testReader.GetSetup();

            setup.Should().HaveCount(2);
            setup[0].Inputs.Should().HaveCount(0);
            setup[1].Inputs.Should().HaveCount(2);
        }
Esempio n. 11
0
        public void TestFileReader_FileHasStepsNotHavingInputs_StepsShouldBeLoaded()
        {
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");

            var steps = testReader.GetTestSteps();

            // steps 1 and 3 do not have inputs
            steps[0].Inputs.Should().HaveCount(0);
            steps[2].Inputs.Should().HaveCount(0);
        }
        public async Task Can_Get_Allocation()
        {
            var pageReader = new TestFileReader(new []
            {
                @".\TestPages\Allocation\GamPage1.txt"
            });

            var service = new AllocationService(pageReader);

            var result = await service.GetAllocation(1, new PageAddress(1, 2), 1024);

            Assert.IsNotNull(result);
        }
Esempio n. 13
0
        public void TestFileReader_LoadsFileWithoutLibraryName_ReturnsNullLibraryName()
        {
            fileService.GetLines("my test").Returns(new List <string>()
            {
                "*** Settings ***",
                "Libary  BadgerTests.dll"
            });
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");

            testReader.GetLibraryName().Should().BeNull();
        }
Esempio n. 14
0
        public void TestFileReader_ShouldLoadVaribles_WhenFileContainsSection()
        {
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");
            var variables = testReader.GetVariables();

            variables.Should().NotBeEmpty();
            variables["timestamp"].Should().Be("${Faker.CreateTimeStamp(\"yyyyMMdd\")}");
            variables["user"].Should().Be("Chewbacca");
            variables["itsBlank"].Should().BeEmpty();
            variables["multiline"].Should().Be("first line second line third line");
        }
        public async void TestWriteFileMutipleThread()
        {
            var expectedJsonText = await TestFileReader.ReadFileAsync(Constants.DB_FILE);

            var tasks = new Task[10];

            for (int i = 0; i < tasks.Length; i++)
            {
                tasks[i] = Task.Run(() => RepositoryHelper.WriteFile(Constants.DB_FILE_UPDATE_HELPER, expectedJsonText));
            }
            Task.WaitAll(tasks);

            var actualJsonText = RepositoryHelper.ReadFile(Constants.DB_FILE_UPDATE_HELPER);

            Assert.Equal(expectedJsonText, actualJsonText);
        }
Esempio n. 16
0
        public void TestFileReader_LoadFileWithDataSets_ShouldReadDataSets()
        {
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");
            var dataSets = testReader.GetDataSets();

            dataSets.Should().HaveCount(2);
            dataSets[0].Name.Should().Be("Numero Uno");
            dataSets[0].Inputs["a"].Should().Be("Hammerhead");
            dataSets[0].Inputs["b"].Should().Be("Mako");
            dataSets[1].Name.Should().Be("El Segundo");
            dataSets[1].Inputs["x"].Should().Be("Orange");
            dataSets[1].Inputs["y"].Should().Be("Red");
            dataSets[1].Inputs["z"].Should().Be("Green");
        }
Esempio n. 17
0
        public void should_read_json_and_deserialise_to_object()
        {
            // when
            var reader       = new TestFileReader();
            var jsonFile     = TestHelpers.ReadEmbeddedFile("full-test-file.json", JsonExamplesFolder);
            var stringReader = new StringReader(jsonFile);
            var result       = reader.Read(stringReader);

            // then
            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Tests.Count());

            var test = result.Tests.First();

            Assert.AreEqual("Some Test", test.Description);
            Assert.AreEqual("POST", test.Method);
            Assert.AreEqual("FML", test.Url);
            Assert.AreEqual("SOOOO MANY PROPERTIES, I am getting bored", test.PostBody);
            Assert.AreEqual(HttpStatusCode.BadRequest, test.ExpectedHttpStatusCode);

            Assert.AreEqual(1, test.Headers.Count);
            Assert.AreEqual("Some Key", test.Headers[0].Key);
            Assert.AreEqual("Some Value", test.Headers[0].Value);

            Assert.AreEqual(1, test.CapturedVariables.Count);
            Assert.AreEqual("Captured Var 1", test.CapturedVariables[0].Name);
            Assert.AreEqual("/w/t/SOMETHING", test.CapturedVariables[0].Regex);
            Assert.AreEqual(VariablePostProcessorType.HtmlDecode, test.CapturedVariables[0].PostProcessorType);

            Assert.AreEqual(1, test.Assertions.Count);
            Assert.AreEqual("I SHOULD DO A THING", test.Assertions[0].Description);
            Assert.AreEqual(AssertionMethod.CssSelector, test.Assertions[0].AssertionMethod);
            Assert.AreEqual("Awesome Value", test.Assertions[0].Value);
            Assert.AreEqual(AssertionType.Negative, test.Assertions[0].AssertionType);
            Assert.AreEqual(VariablePostProcessorType.HtmlDecode, test.CapturedVariables[0].PostProcessorType);

            Assert.AreEqual("uploadfile.snippet", test.ScriptSnippets.BeforeExecuteFilename);

            Assert.AreEqual(2, result.Variables.Count);
            Assert.AreEqual("Variable 1", result.Variables[0].Name);
            Assert.AreEqual("Value 1", result.Variables[0].Value);
            Assert.AreEqual("Env1", result.Variables[0].Environment.Name);

            Assert.AreEqual("Variable 2", result.Variables[1].Name);
            Assert.AreEqual("Value 2", result.Variables[1].Value);
            Assert.AreEqual("Env2", result.Variables[1].Environment.Name);
        }
Esempio n. 18
0
        public void ViewOnFormLoad(object sender, EventArgs e)
        {
            _view.SaveEnabled    = false;
            _view.AddStepEnabled = false;
            _view.ClearTreeNodes();
            // is there a file path?  if yes, get the library name and load it
            if (!string.IsNullOrEmpty(FilePath))
            {
                var reader = new TestFileReader(_fileService);
                reader.LoadFile(FilePath);
                LibraryName = reader.GetLibraryName();

                _view.TestCaseLines = _fileService.GetLines(FilePath).ToArray();
                _view.SaveAsEnabled = true;
            }
            else
            {
                _fileBrowser.InitialDirectory = Environment.CurrentDirectory;
                if (_fileBrowser.ShowDialog())
                {
                    LibraryName = System.IO.Path.GetFileNameWithoutExtension(_fileBrowser.FileName);
                }
                else
                {
                    //_view.Close();
                    _view.Result = DialogResult.Cancel;
                }
                _view.TestCaseLines = new string[] { };
                _view.SaveAsEnabled = false;
            }
            SetTitle();

            if (String.IsNullOrEmpty(LibraryName) == false && CurrentLibrary != LibraryName)
            {
                // need to load new step list
                CurrentAssembly = Assembly.Load(LibraryName);
                CurrentLibrary  = LibraryName;
                StepClasses     = CurrentAssembly.GetTypes().Where(t => Attribute.IsDefined(t, typeof(StepsAttribute))).ToList();
            }

            // for the descriptions of the test steps
            LoadXml();
            BuildTestStepTree();

            _view.SaveEnabled = false;
        }
        public async void TestSave()
        {
            var json = await TestFileReader.ReadFileAsync(Constants.DB_FILE_UPDATE_HELPER);

            var beforeSaveData = RepositoryHelper.ToData(json);

            RepositoryHelper.Save(beforeSaveData, Constants.DB_FILE_UPDATE_HELPER);

            json = await TestFileReader.ReadFileAsync(Constants.DB_FILE_UPDATE_HELPER);

            var afterSaveData = RepositoryHelper.ToData(json);

            var jsonBeforeSave = JsonConvert.SerializeObject(beforeSaveData);
            var jsonAfterSave  = JsonConvert.SerializeObject(afterSaveData);

            Assert.Equal(jsonBeforeSave, jsonAfterSave);
        }
Esempio n. 20
0
        public void TestFileReader_ReadsTestStepsWithInputs_ParsesInputParameters()
        {
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");

            var steps = testReader.GetTestSteps();

            // steps 2 has inputs
            steps[1].Keyword.Should().Be("Do something that needs inputs");
            steps[1].Inputs.Should().HaveCount(2);
            steps[1].Inputs["Input1"].Should().Be("walla walla additional for Input1");
            steps[1].Inputs["Input2"].Should().Be("12345");
            steps[3].Keyword.Should().Be("Another step with inputs");
            steps[3].Inputs.Should().HaveCount(2);
            steps[3].Inputs["variable"].Should().Be("${timestamp}");
            steps[3].Inputs["BlankValue"].Should().BeEmpty();
        }
Esempio n. 21
0
        public async Task should_parse_capturedvariables()
        {
            // Arrange
            var httpClient = new HttpClient(new RestClient());

            string   xml          = TestHelpers.ReadEmbeddedFile("capturedvariables.xml", XmlExamplesFolder);
            var      stringReader = new StringReader(xml);
            var      reader       = new TestFileReader();
            TestFile testFile     = reader.Read(stringReader);
            var      runner       = new TestFileRunner(httpClient, GetRepository(), new JsonConfiguration());

            // Act
            TestFileResult result = await runner.RunAsync(testFile);

            // Assert
            Assert.That(result, Is.Not.Null);
            Assert.That(result.TestResults.Count, Is.EqualTo(2));
        }
Esempio n. 22
0
        public void TestFileReader_LoadsFileWithoutTestCase_ReturnsZeroSteps()
        {
            fileService.GetLines(Arg.Any <string>()).Returns(new List <string>()
            {
                "*** Settings ***",
                "Library  BadgerTests.dll",
                "",
                "*** Variables ***",
                "timestamp  ${Faker.CreateTimeStamp(\"yyyyMMdd\")}",
                "user  Chewbacca"
            });
            TestFileReader testReader = new TestFileReader(fileService);

            testReader.LoadFile("my test");

            var steps = testReader.GetTestSteps();

            steps.Should().HaveCount(0);
        }
Esempio n. 23
0
        /// <summary>
        /// Loads tests to the list
        /// </summary>
        public void LoadItems()
        {
            var ItemsOnHardDrive = new List <Test>();

            try
            {
                // Try to load the list of every test from bin files
                ItemsOnHardDrive = TestFileReader.ReadFile <Test>();
            }
            catch (Exception ex)
            {
                // If an error occured, show info to the user
                DI.UI.ShowMessage(new MessageBoxDialogViewModel
                {
                    Title   = "Błąd wczytywania",
                    Message = "Nie udało się wczytać dostępnych testów." +
                              "\nTreść błędu: " + ex.Message,
                    OkText = "Ok"
                });

                DI.Logger.Log("Unable to read tests from local folder, error message: " + ex.Message);
            }

            // Rewrite list to the collection
            Items = new ObservableCollection <TestListItemViewModel>();
            for (var i = 0; i < ItemsOnHardDrive.Count; i++)
            {
                Items.Add(new TestListItemViewModel()
                {
                    ID   = i,
                    Test = ItemsOnHardDrive[i],
                });
            }

            mCurrentlySelectedItemIndex = NothingSelected;
            SelectedItem  = null;
            IsAnySelected = false;

            SelectionChanged.Invoke();
        }
        public void TestInitialize()
        {
            var fileName = "Mapping.json";
            var jsonStr  =
                @"[
                    { ""character"": ""単一のキー入力しかないケース"", ""mode"": ""Direct"", ""keys"": [ [ ""N1"" ] ] },
                    { ""character"": ""複数回キーを入力するケース"", ""mode"": ""Japanese"", ""keys"": [ [ ""Y"" ], [ ""A"" ], [ ""J"" ], [ ""I"" ], [ ""R"" ], [ ""U"" ], [ ""S"" ], [ ""I"" ] ] },
                    { ""character"": ""同じキーを連続で入力するケース1"", ""mode"": ""Japanese"", ""keys"": [ [ ""N"" ], [ ""N"" ] ] },
                    { ""character"": ""同じキーを連続で入力するケース2"", ""mode"": ""Japanese"", ""keys"": [ [ ""N"" ], [ ], [ ""N"" ] ] },
                    { ""character"": ""装飾キーを同時入力するケース"", ""mode"": ""Direct"", ""keys"": [ [ ""Control"", ""Shift"", ""Escape"" ] ] },
                    { ""character"": ""複雑なショートカットキー入力をするケース1"", ""mode"": ""Direct"", ""keys"": [ [ ""Control"", ""A"" ], [ ""Control"", ""C"" ], [ ""Control"", ""V"" ], [ ""Control"", ""V"" ] ] },
                    { ""character"": ""複雑なショートカットキー入力をするケース2"", ""mode"": ""Direct"", ""keys"": [ [ ""Control"", ""A"" ], [ ""Control"", ""C"" ], [ ""Control"", ""V"" ], [ ], [ ""Control"", ""V"" ] ] },
                    { ""character"": ""複雑なショートカットキー入力をするケース3"", ""mode"": ""Direct"", ""keys"": [ [ ""Control"", ""A"" ], [ ""Control"", ""C"" ], [ ""Control"", ""V"" ], [ ""Control"" ], [ ""Control"", ""V"" ] ] },
                    { ""character"": ""複雑なショートカットキー入力をするケース4"", ""mode"": ""Direct"", ""keys"": [ [ ""Control"", ""A"" ], [ ""Control"", ""C"" ], [ ""Control"", ""V"" ], [ ""Control"" ], [ ""V"", ""Control"" ] ] }
                ]";

            var reader = new TestFileReader();

            reader.RegisterStringPair(fileName, jsonStr);

            this.query = new InputInfoQuery(reader);
        }
Esempio n. 25
0
        private ConfigurationCollection ReadJson(TestFileReader reader)
        {
            var jsonReader = new JsonReader(
                reader.FilePath,
                new ConfigLoaderOptions
            {
                ProcessAutoBundles = true,
                ProcessBundles     = true,
                LoadOverrides      = true
            },
                reader);
            var config = jsonReader.ReadConfig();

            config.FilePath = null;
            if (config.Bundles == null)
            {
                config.Bundles = new RequireBundles {
                    BundleEntries = new List <RequireBundle>()
                };
            }

            return(config);
        }