public void SendMessage(TechTalk talk) { Console.WriteLine("Inside send message"); var factory = new ConnectionFactory() { HostName = "rabbitmq" }; Console.WriteLine("Inside connection factory"); using (var connection = factory.CreateConnection()) { Console.WriteLine("Inside connection"); using (var channel = connection.CreateModel()) { Console.WriteLine("Inside model"); channel.ExchangeDeclare(exchangeName, "fanout"); var body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(talk)); channel.BasicPublish(exchange: exchangeName, routingKey: routingKey, basicProperties: null, body: body); Console.WriteLine(" [x] Sent {0}", talk); } } }
public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioStart(scenarioInfo); if(this.driver != null) ScenarioContext.Current.Add("Driver", this.driver); this.sauceRest = new SauceRest("user_name", "access_key", "https://saucelabs.com/rest/v1"); }
public void ThenTheNewlyCreatedTaskIsDisplayedInTheList(TechTalk.SpecFlow.Table table) { foreach (var tableRow in table.Rows) { Assert.IsTrue(WebBrowser.Current.ContainsText(tableRow["Value"])); } }
public void WhenIAdoptForThesePets(TechTalk.SpecFlow.Table petNames) { IWebDriver driver = ScenarioContext.Current["driver"] as IWebDriver; for (int i = 0; i < petNames.RowCount; i++) { ReadOnlyCollection<IWebElement> nameLabels = driver.FindElements(By.ClassName("name")); ReadOnlyCollection<IWebElement> viewDetailsButtons = driver.FindElements(By.XPath("//input[@value='View Details']")); var petName = petNames.Rows[i][0]; Console.WriteLine("taking care of " + petName); for (int j = 0; j < nameLabels.Count; j++) { if (nameLabels[j].Text == petName) { Console.WriteLine("FOUND: " + petName); viewDetailsButtons[j].Click(); IWebElement adoptMeButton = driver.FindElement(By.XPath("//input[@value='Adopt Me!']")); adoptMeButton.Click(); if (petNames.RowCount == i + 1) { IWebElement completeTheAdoptionButton = driver.FindElement(By.XPath("//input[@value='Complete the Adoption']")); completeTheAdoptionButton.Click(); } else { IWebElement adoptAnotherButton = driver.FindElement(By.XPath("//input[@value='Adopt Another Puppy']")); adoptAnotherButton.Click(); } break; } } } }
public void ThenIShouldSeeTheFollowingData(TechTalk.SpecFlow.Table table) { foreach (var header in table.Header) { Assert.AreEqual(_browser.Element(header).Text, table.Rows[0][header]); } }
public IActionResult Create([FromBody] TechTalk techTalk) { if (techTalk == null) { return(BadRequest()); } Console.WriteLine("Saving Tech talk to database."); Console.WriteLine($"Tech Talk Id : {techTalk.Id}"); Console.WriteLine($"Tech Talk Name : {techTalk.TechTalkName}"); Console.WriteLine($"Category : {techTalk.CategoryId}"); Console.WriteLine($"Level : {techTalk.LevelId}"); try { _context.TechTalk.Add(techTalk); _context.Entry(techTalk.Category).State = EntityState.Unchanged; _context.Entry(techTalk.Level).State = EntityState.Unchanged; _context.SaveChanges(); } catch (Exception ex) { Console.WriteLine("Inside exception block"); Console.WriteLine(ex.Message); Console.WriteLine(ex.InnerException); } return(Ok()); }
public IActionResult Create([FromBody] TechTalkVM techTalkVm) { if (techTalkVm == null) { return(BadRequest()); } TechTalk techTalk = new TechTalk { TechTalkName = techTalkVm.TechTalkName, CategoryId = techTalkVm.CategoryId, Category = _context.Categories.FirstOrDefault(x => x.Id == techTalkVm.CategoryId), LevelId = techTalkVm.LevelId, Level = _context.Levels.FirstOrDefault(x => x.Id == techTalkVm.LevelId) }; try { _context.TechTalk.Add(techTalk); _context.Entry(techTalk.Category ?? throw new InvalidOperationException()).State = EntityState.Unchanged; _context.Entry(techTalk.Level ?? throw new InvalidOperationException()).State = EntityState.Unchanged; _context.SaveChanges(); } catch (Exception ex) { Console.WriteLine($"Exception Occured : {ex.Message} - inner exception:- {ex.InnerException}"); } return(Ok()); }
public void GivenIAmRegisteredWithTheFollowingData(TechTalk.SpecFlow.Table table) { var tableSerialized = new SerializableTable(table); username = tableSerialized.Rows[0]["email"]; password = tableSerialized.Rows[0]["password"]; //mobile = tableSerialized.Rows[0]["mobile"]; //gender = tableSerialized.Rows[0]["gender"]; Deleporter.Run(() => { var mockRepository = new Mock<IRegisterRepository>(); mockRepository.Setup(x => x.Get(tableSerialized.Rows[0]["email"])) .Returns((from row in tableSerialized.Rows select new RegisterEntry { Name = tableSerialized.Rows[0]["name"], Password = tableSerialized.Rows[0]["password"], Email = tableSerialized.Rows[0]["email"], Mobile = tableSerialized.Rows[0]["mobile"], Gender = Convert.ToChar(tableSerialized.Rows[0]["gender"][0]), Activated = tableSerialized.Rows[0]["activated"] == "yes" ? true : false }).ToList()[0]); NinjectControllerFactoryUtils.TemporarilyReplaceBinding<IRegisterRepository>(mockRepository.Object); }); //ScenarioContext.Current.Pending(); }
public void GivenIFillInTheFormAsFollows(TechTalk.SpecFlow.Table table) { foreach (var row in table.Rows) { var labelText = row["Label"]; var value = row["Value"]; WebBrowser.Current.TextFields.First(Find.ByLabelText(labelText)).TypeText(value); } }
public virtual void ScenarioSetup(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioStart(scenarioInfo); if(this.driver != null) ScenarioContext.Current.Add("Driver", this.driver); if(this.container != null) ScenarioContext.Current.Add("Container", this.container); }
public void GivenIHaveFilledOutTheFormAsFollows(TechTalk.SpecFlow.Table table) { foreach (var row in table.Rows) { var labelText = row["Label"] + ":"; var value = row["Value"]; _browser.TextFields.First(Find.ByLabelText(labelText)).TypeText(value); } }
public void WhenIAdoptForThesePets(TechTalk.SpecFlow.Table petNames) { for (int i = 0; i < petNames.RowCount; i++) { var petName = petNames.Rows[i][0]; Console.WriteLine("Adopting " + petName); adoptingSteps.adopt_a_pet(petName, petNames.RowCount == i + 1); } }
public void ShouldShowFollowingErrorMessages(TechTalk.SpecFlow.Table table) { IWebElement element; foreach (TechTalk.SpecFlow.TableRow row in table.Rows) { element = BrowserUtility.Browser.FindElementWithWait(By.CssSelector("span[data-valmsg-for='" + row["id"] + "']")); element.Text.Should().Be(row["value"]); } }
public void TheGeneralRiskAssessmentsTableShouldNotContainTheFollowingData(string type, TechTalk.SpecFlow.Table table) { var searchResultsTable = WebBrowser.Current.Tables.First(); Assert.AreEqual(table.Rows.Count, searchResultsTable.TableRows.Count()); foreach (var row in table.Rows) { Assert.Null(searchResultsTable.FindRow(row["Reference"], 0)); } }
public void FillFieldsWithFollowingData(TechTalk.SpecFlow.Table table) { IWebElement element; foreach (TechTalk.SpecFlow.TableRow row in table.Rows) { element = BrowserUtility.Browser.FindElementWithWait(By.CssSelector("input[id='" + row["id"] + "']")); element.SendKeys(row["value"]); } }
public void GivenIHaveEnteredValidDataInTheFormFields(TechTalk.SpecFlow.Table table) { foreach (var tableRow in table.Rows) { var field = WebBrowser.Current.TextField(Find.ByName(tableRow["Field"])); if (!field.Exists) Assert.Fail(String.Format("Could not find {0} field on page", field)); field.TypeText(tableRow["Value"]); } }
public void WhenIFillInTheUserForm(TechTalk.SpecFlow.Table table) { Thread.Sleep(2500); HostUserPage.UserNameField.Value = table.Rows[0]["Value"]; HostUserPage.FirstNameField.Value = table.Rows[1]["Value"]; HostUserPage.LastNameField.Value = table.Rows[2]["Value"]; HostUserPage.DisplayNameField.Value = table.Rows[3]["Value"]; HostUserPage.EmailField.Value = table.Rows[4]["Value"]; HostUserPage.PasswordField.Value = table.Rows[5]["Value"]; HostUserPage.ConfirmPasswordField.Value = table.Rows[5]["Value"]; }
public void WtedyMamyWyswietlonaListeWszystkichAlertow(TechTalk.SpecFlow.Table table) { foreach(var row in table.Rows) { var element = WebBrowser.Current.ElementWithTag("dt", Find.ByText(row["name"])); if (!element.Exists) { Assert.Fail("Lista nie zawiera alertu o nazwie '{0}'", row["name"]); } } }
public void EntaoOSeguinteFormularioDeveSerExibido(TechTalk.SpecFlow.Table campos) { foreach (var campo in campos.Rows) { var nomeCampo = campo["Rótulo"]; var textField = WebBrowser.Current.TextField(Find.ByName(nomeCampo)); Assert.IsTrue(textField.Exists, string.Format( "Não foi possÃvel encontrar o campo {0} na página", nomeCampo)); } }
public void WhenEuPreenchoOFormularioComOsSeguintesCampos(TechTalk.SpecFlow.Table table) { foreach (var tableRow in table.Rows) { var field = WeBrowser.Current.ElementOfType<TextFieldExtended>(tableRow["Field"]); if(!field.Exists) Assert.Fail(String.Format("Não encontrado campo {0} na página", field)); string value = String.Format("{0}{1}", tableRow["Value"], new Random().Next(1000).ToString()); field.TypeText(value); } }
public void ThenTheAddedDocumentResultsTableShouldContainTheFollowingData(TechTalk.SpecFlow.Table table) { var searchResultsTable = WebBrowser.Current.Tables.First(); Assert.AreEqual(table.Rows.Count, searchResultsTable.TableRows.Length); int titleColumnIndex = 1; for (int i = 0; i < table.Rows.Count; i++) { string title = table.Rows[i]["Title"]; Assert.AreEqual(title, searchResultsTable.TableRows[i].TableCells[titleColumnIndex].Text); } }
public void WhenIFillInTheProfilePropertyForm(TechTalk.SpecFlow.Table table) { ProfilePropertiesPage.PropertyNameField.Value = table.Rows[0]["Value"]; ListEntryInfo dataType = new ListController().GetListEntryInfo("DataType", table.Rows[1]["Value"]); ProfilePropertiesPage.DataTypeSelectList.SelectByValue(dataType.EntryID.ToString(CultureInfo.InvariantCulture)); ProfilePropertiesPage.PropertyCategoryField.Value = table.Rows[2]["Value"]; ProfilePropertiesPage.LengthTextField.Value = table.Rows[3]["Value"]; ProfilePropertiesPage.RequiredCheckBox.Checked = Boolean.Parse(table.Rows[4]["Value"]); ProfilePropertiesPage.VisibleCheckBox.Checked = Boolean.Parse(table.Rows[5]["Value"]); ProfilePropertiesPage.ReadOnlyCheckBox.Checked = Boolean.Parse(table.Rows[6]["Value"]); }
private void LogTechTalkDetails(TechTalk techTalk) { Console.WriteLine(); Console.WriteLine("----------"); Console.WriteLine($"Tech Talk Id : {techTalk.Id}"); Console.WriteLine($"Tech Talk Name : {techTalk.TechTalkName}"); Console.WriteLine($"Category : {techTalk.CategoryId}"); Console.WriteLine($"Level : {techTalk.LevelId}"); Console.WriteLine("----------"); Console.WriteLine(); Console.WriteLine($"TechTalk persisted successfully at {DateTime.Now.ToLongTimeString()}"); }
public void GivenWeHaveTheFollowingRiskAssessors(TechTalk.SpecFlow.Table table) { const string insertSql = "INSERT INTO [BusinessSafe].[dbo].[RiskAssessor] (" + "[EmployeeId], " + "[HasAccessToAllSites], " + "[SiteId], " + "[DoNotSendTaskOverdueNotifications], " + "[DoNotSendTaskCompletedNotifications], " + "[DoNotSendReviewDueNotification], " + "[CreatedBy], " + "[CreatedOn], " + "[LastModifiedBy], " + "[LastModifiedOn], " + "[Deleted] ) " + "VALUES (" + ":EmployeeId, " + ":HasAccessToAllSites, " + ":SiteId, " + ":DoNotSendTaskOverdueNotifications, " + ":DoNotSendTaskCompletedNotifications, " + ":DoNotSendReviewDueNotification, " + ":CreatedBy, " + ":CreatedOn, " + ":LastModifiedBy, " + ":LastModifiedOn, " + ":Deleted ) "; var session = ObjectFactory.GetInstance<IBusinessSafeSessionFactory>().GetSession(); foreach (var row in table.Rows) { session .CreateSQLQuery(insertSql) .SetParameter("EmployeeId", row["EmployeeId"]) .SetParameter("HasAccessToAllSites", row["HasAccessToAllSites"]) .SetParameter("SiteId", row["SiteId"]) .SetParameter("DoNotSendTaskOverdueNotifications", row["DoNotSendTaskOverdueNotifications"]) .SetParameter("DoNotSendTaskCompletedNotifications", row["DoNotSendTaskCompletedNotifications"]) .SetParameter("DoNotSendReviewDueNotification", row["DoNotSendReviewDueNotification"]) .SetParameter("CreatedBy", new Guid("16ac58fb-4ea4-4482-ac3d-000d607af67c")) .SetParameter("CreatedOn", DateTime.Now) .SetParameter("LastModifiedBy", new Guid("16ac58fb-4ea4-4482-ac3d-000d607af67c")) .SetParameter("LastModifiedOn", DateTime.Now) .SetParameter("Deleted", row["Deleted"]) .UniqueResult<long>(); session.Flush(); } }
public override void SetTestClass(TechTalk.SpecFlow.Generator.TestClassGenerationContext generationContext, string featureTitle, string featureDescription) { base.SetTestClass(generationContext, featureTitle, featureDescription); foreach(CodeAttributeDeclaration customAttribute in generationContext.TestClass.CustomAttributes) { if(customAttribute.Name == "Microsoft.VisualStudio.TestTools.UnitTesting.TestClassAttribute") { generationContext.TestClass.CustomAttributes.Remove(customAttribute); break; } } generationContext.TestClass.CustomAttributes.Add(new CodeAttributeDeclaration(new CodeTypeReference("Microsoft.VisualStudio.TestTools.UITesting.CodedUITestAttribute"))); }
public static object CreateItem(string type, TechTalk.SpecFlow.Table data = null) { object item = null; var qualified = GetType(type); if (qualified != null) { item = Activator.CreateInstance(qualified); var details = data.ToDictionary(); if (data != null) item = PopulateItem(details, item); } return item; }
public void TheFollowingRecordShouldExistInTheAccidentRecordTable(TechTalk.SpecFlow.Table table) { var form = WebBrowser.Current.Div(Find.ById("AccidentRecordsGrid")); var displayedTable = form.Tables.First(); var foundRow = false; for (var i = 0; i < displayedTable.TableRows.Count(); i++) { if (CheckNthRow(table, i, displayedTable)) { foundRow = true; } } Assert.IsTrue(foundRow); }
public void TheTaskListShouldContainTheFollowingData(TechTalk.SpecFlow.Table table) { var form = WebBrowser.Current.Div(Find.ById("ResponsibilitySaveResponsibilityTaskRequestGrid")); var displayedTable = form.Tables.First(); for (var i = 0; i < table.Rows.Count; i++) { var taskReference = table.Rows[i]["Task Reference"].Trim(); Assert.AreEqual(taskReference, displayedTable.TableRows[i].TableCells[1].Text.Trim()); var taskCategory = table.Rows[i]["Task Category"].Trim(); Assert.AreEqual(taskCategory, displayedTable.TableRows[i].TableCells[2].Text.Trim()); var title = table.Rows[i]["Title"].Trim(); Assert.AreEqual(title, displayedTable.TableRows[i].TableCells[3].Text.Trim()); var description = table.Rows[i]["Description"].Trim(); Assert.AreEqual(description, displayedTable.TableRows[i].TableCells[4].Text.Trim()); var assignedTo = table.Rows[i]["Assigned To"].Trim(); Assert.AreEqual(assignedTo, displayedTable.TableRows[i].TableCells[5].Text.Trim()); var createdDate = table.Rows[i]["Created Date"].Trim(); if (createdDate == "DateTime.Now") { createdDate = DateTime.Now.ToString("dd/MM/yyyy"); Assert.AreEqual(createdDate, displayedTable.TableRows[i].TableCells[6].Text.Trim()); } else { Assert.AreEqual(createdDate, displayedTable.TableRows[i].TableCells[6].Text.Trim()); } var dueDate = table.Rows[i]["Due Date"].Trim(); Assert.AreEqual(dueDate, displayedTable.TableRows[i].TableCells[7].Text.Trim()); var status = table.Rows[i]["Status"].Trim(); Assert.AreEqual(status, displayedTable.TableRows[i].TableCells[8].Text.Trim()); } if (table.Rows.Count != displayedTable.TableRows.Length) { Assert.Inconclusive(string.Format("The expected number of rows is {0} but the actual count is {1}. This is probably due to an additonal item that has been created in a previous test.", table.Rows.Count, displayedTable.TableRows.Count())); } }
public void SendMessage(TechTalk talk) { Console.WriteLine("Inside send message"); var factory = new ConnectionFactory() { HostName = "rabbitmq", UserName = "******", Password = "******" }; Console.WriteLine("Inside connection factory"); using (var connection = factory.CreateConnection()) { Console.WriteLine("Inside connection"); using (var channel = connection.CreateModel()) { Console.WriteLine("Inside model"); channel.QueueDeclare( queue: queueName, durable: true, exclusive: false, autoDelete: false, arguments: null ); var properties = channel.CreateBasicProperties(); properties.Persistent = true; var body = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(talk)); // for (int i = 0; i < 500; i++) // { channel.BasicPublish(exchange: "", routingKey: routingKey, basicProperties: properties, body: body); Console.WriteLine($"{talk} published successfully"); // Console.WriteLine($"{i} Sent {0}", talk); // } } } }
public void SetRow(TechTalk.SpecFlow.Generator.TestClassGenerationContext generationContext, System.CodeDom.CodeMemberMethod testMethod, IEnumerable<string> arguments, IEnumerable<string> tags, bool isIgnored) { var args = arguments.Select( arg => new CodeAttributeArgument(new CodePrimitiveExpression(arg))).ToList(); // addressing ReSharper bug: TestCase attribute with empty string[] param causes inconclusive result - https://github.com/techtalk/SpecFlow/issues/116 var exampleTagExpressionList = tags.Select(t => new CodePrimitiveExpression(t)).ToArray(); CodeExpression exampleTagsExpression = exampleTagExpressionList.Length == 0 ? (CodeExpression)new CodePrimitiveExpression(null) : new CodeArrayCreateExpression(typeof(string[]), exampleTagExpressionList); args.Add(new CodeAttributeArgument(exampleTagsExpression)); if (isIgnored) args.Add(new CodeAttributeArgument("Ignored", new CodePrimitiveExpression(true))); var browsers = testMethod.UserData.Keys.OfType<string>() .Where(key => key.StartsWith("Browser:")) .Select(key => (string) testMethod.UserData[key]).ToArray(); if (browsers.Any()) { foreach (var codeAttributeDeclaration in testMethod.CustomAttributes.Cast<CodeAttributeDeclaration>().Where(attr => attr.Name == ROW_ATTR && attr.Arguments.Count == 3).ToList()) { testMethod.CustomAttributes.Remove(codeAttributeDeclaration); } foreach (var browser in browsers) { var argsString = string.Concat(args.Take(args.Count - 1).Select(arg => string.Format("\"{0}\" ,", ((CodePrimitiveExpression)arg.Value).Value))); argsString = argsString.TrimEnd(' ', ','); var withBrowserArgs = new[] { new CodeAttributeArgument(new CodePrimitiveExpression(browser)) } .Concat(args) .Concat(new [] { new CodeAttributeArgument("Category", new CodePrimitiveExpression(browser)), new CodeAttributeArgument("TestName", new CodePrimitiveExpression(string.Format("{0} on {1} with: {2}", testMethod.Name, browser, argsString))) }) .ToArray(); this.codeDomHelper.AddAttribute(testMethod, ROW_ATTR, withBrowserArgs); } } else { this.codeDomHelper.AddAttribute(testMethod, ROW_ATTR, args.ToArray()); } }
public void WhenIFillInTheRegisterUserForm(TechTalk.SpecFlow.Table table) { //delete the user first var userName = table.Rows[0]["Value"]; var testUser = UserController.GetUserByName(0, userName); if(testUser != null) { UserController.RemoveUser(testUser); } Thread.Sleep(3500); RegisterPage.UserNameField.Value = table.Rows[0]["Value"]; RegisterPage.EmailField.Value = table.Rows[1]["Value"]; RegisterPage.PasswordField.Value = table.Rows[2]["Value"]; RegisterPage.ConfirmPasswordField.Value = table.Rows[2]["Value"]; RegisterPage.DisplayNameField.Value = table.Rows[3]["Value"]; }
public void ThenTheDocumentTypeDropDownContainsTheCorrectTypes(TechTalk.SpecFlow.Table table) { WebBrowser.Current.Eval("$('#DocumentType').next('.btn').click()"); var itemsCount = WebBrowser.Current.Eval("$('li','.ui-autocomplete:visible').length"); Assert.AreEqual(table.Rows.Count.ToString(), itemsCount); for (int i = 0; i < table.Rows.Count; i++) { string documentType = table.Rows[i]["DocumentType"]; var result = WebBrowser.Current.Eval("$('li:contains(\"" + documentType + "\")','.ui-autocomplete:visible').length"); Assert.IsTrue(result == "1"); } }
public IActionResult Update(int id, [FromBody] TechTalk item) { if (item == null || !item.Id.Equals(id)) { return(BadRequest()); } var techTalk = _context.TechTalk.FirstOrDefault(t => t.Id.Equals(id)); if (techTalk == null) { return(NotFound()); } techTalk.TechTalkName = item.TechTalkName; _context.TechTalk.Update(techTalk); _context.SaveChanges(); return(new NoContentResult()); }
public static void CreateDocument(TechTalk techTalk) { try { var client = GetElasticClient(); var result = client.Index(techTalk, idx => idx.Index(IndexName)); Console.WriteLine($"Result : {result.IsValid}"); if (!result.IsValid) { Console.WriteLine(result.DebugInformation); } } catch (System.Exception) { Console.WriteLine($"Index {IndexName} failed"); } }
public void TheMultipleSelectedEmployeesTableShouldContainTheFollowingData(TechTalk.SpecFlow.Table expectedTable) { var div = WebBrowser.Current.Div(Find.ById("SelectedEmployeesGrid")); var displayedTable = div.Tables.First(); Assert.That(displayedTable.TableRows.Count(), Is.EqualTo(expectedTable.RowCount)); for (var i = 0; i < expectedTable.Rows.Count; i++) { var title = expectedTable.Rows[i]["Name"].Trim(); Assert.AreEqual(title, displayedTable.TableRows[i].TableCells[0].Text.Trim()); var description = expectedTable.Rows[i]["Email"].Trim(); var displayedEmail = displayedTable.TableRows[i].TableCells[1].Text != null ? displayedTable.TableRows[i].TableCells[1].Text.Trim() : ""; Assert.AreEqual(description, displayedEmail); } }
public void SitesSelectListShouldContainTheFolowingData(TechTalk.SpecFlow.Table table) { Thread.Sleep(1000); WebBrowser.Current.Eval("$('#Site').next('.btn').click()"); var itemsCount = WebBrowser.Current.Eval("$('li','.ui-autocomplete:visible').length"); Assert.AreEqual(table.Rows.Count.ToString(), itemsCount); for (int i = 0; i < table.Rows.Count; i++) { string site = table.Rows[i]["SiteName"]; if (!string.IsNullOrEmpty(site) && site != "Mkt Harb'ro") { var result = WebBrowser.Current.Eval("$('li:contains(\"" + site + "\")','.ui-autocomplete:visible').length"); Assert.IsTrue(result == "1"); } } }
public IActionResult Create([FromBody] TechTalkDTO techTalkDto) { if (techTalkDto == null) { return(BadRequest()); } TechTalk techTalk = new TechTalk { TechTalkName = techTalkDto.TechTalkName, CategoryId = techTalkDto.CategoryId, Category = _context.Categories.FirstOrDefault(x => x.Id == techTalkDto.CategoryId), LevelId = techTalkDto.LevelId, Level = _context.Levels.FirstOrDefault(x => x.Id == techTalkDto.LevelId) }; Console.WriteLine("Saving Tech talk to database."); Console.WriteLine($"Tech Talk Id : {techTalk.Id}"); Console.WriteLine($"Tech Talk Name : {techTalk.TechTalkName}"); Console.WriteLine($"Category : {techTalk.CategoryId}"); Console.WriteLine($"Level : {techTalk.LevelId}"); try { _context.TechTalk.Add(techTalk); _context.Entry(techTalk.Category).State = EntityState.Unchanged; _context.Entry(techTalk.Level).State = EntityState.Unchanged; _context.SaveChanges(); } catch (Exception ex) { Console.WriteLine("Inside exception block"); Console.WriteLine(ex.Message); Console.WriteLine(ex.InnerException); } return(Ok()); }
public IActionResult Create([FromBody] TechTalkDTO item) { if (item == null) { return(BadRequest()); } Console.WriteLine("Sending message to queue"); TechTalk techTalk = new TechTalk { TechTalkName = item.TechTalkName, CategoryId = item.CategoryId, Category = _context.Categories.FirstOrDefault(x => x.Id == item.CategoryId), LevelId = item.LevelId, Level = _context.Levels.FirstOrDefault(x => x.Id == item.LevelId) }; _messageQueue.SendMessage(techTalk); return(Ok()); }
public void SetTestMethodCategories(TechTalk.SpecFlow.Generator.TestClassGenerationContext generationContext, System.CodeDom.CodeMemberMethod testMethod, IEnumerable<string> scenarioCategories) { this.codeDomHelper.AddAttributeForEachValue(testMethod, CATEGORY_ATTR, scenarioCategories.Where(cat => !cat.StartsWith("Browser:"))); bool hasBrowser = false; foreach(var browser in scenarioCategories.Where(cat => cat.StartsWith("Browser:")).Select(cat => cat.Replace("Browser:", ""))) { testMethod.UserData.Add("Browser:" + browser, browser); var withBrowserArgs = new[] { new CodeAttributeArgument(new CodePrimitiveExpression(browser)) } .Concat(new[] { new CodeAttributeArgument("Category", new CodePrimitiveExpression(browser)), new CodeAttributeArgument("TestName", new CodePrimitiveExpression(string.Format("{0} on {1}", testMethod.Name, browser))) }) .ToArray(); this.codeDomHelper.AddAttribute(testMethod, ROW_ATTR, withBrowserArgs); hasBrowser = true; } if (hasBrowser) { if (!scenarioSetupMethodsAdded) { generationContext.ScenarioInitializeMethod.Statements.Add(new CodeSnippetStatement(" if(this.driver != null)")); generationContext.ScenarioInitializeMethod.Statements.Add(new CodeSnippetStatement(" ScenarioContext.Current.Add(\"Driver\", this.driver);")); generationContext.ScenarioInitializeMethod.Statements.Add(new CodeSnippetStatement(" if(this.container != null)")); generationContext.ScenarioInitializeMethod.Statements.Add(new CodeSnippetStatement(" ScenarioContext.Current.Add(\"Container\", this.container);")); scenarioSetupMethodsAdded = true; } testMethod.Statements.Insert(0, new CodeSnippetStatement(" InitializeSelenium(browser);")); testMethod.Parameters.Insert(0, new System.CodeDom.CodeParameterDeclarationExpression("System.string" , "browser")); } }
private static void RabbitMQBasicMessageHandler(object model, BasicDeliverEventArgs ea) { Console.WriteLine("Inside ELK receiver..."); var body = ea.Body; var message = Encoding.UTF8.GetString(body); var techTalkModel = JsonConvert.DeserializeObject <TechTalksModel.TechTalk>(message); TechTalk techTalk = new TechTalk { TechTalkName = techTalkModel.TechTalkName, Category = techTalkModel.Category.CategoryName, Level = techTalkModel.Level.LevelName, EventTime = DateTime.UtcNow }; Console.WriteLine($"Received message {message}"); Console.WriteLine($"Tech Talk Name : {techTalk.TechTalkName}"); Console.WriteLine($"Category : {techTalk.Category}"); Index.CreateDocument(techTalk); Console.WriteLine("Index written successfully"); }