public void TestFileReader_LoadsFileWithLibraryName_ReturnsLibraryName() { TestFileReader testReader = new TestFileReader(fileService); testReader.LoadFile("my test"); testReader.GetLibraryName().Should().Be("BadgerTests.dll"); }
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); }
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); }
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); }
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); } }
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); }
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); }
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(); }
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); }
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"); }
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); }
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); }
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(); }
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)); }
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); }
/// <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); }
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); }