public void msteams_card_fact_task_status_is_set_from_sonarqube_webhook_data() { // Arrange var sonarqubeToMSTeamsConverter = new SonarqubeToMSTeamsConverter(); dynamic data = GetExampleSonarqubeQualityGateOkJson(); string culture = null; // Act var msTeamsComplexCard = sonarqubeToMSTeamsConverter.ToComplexCard(data, culture); // Assert var fact = msTeamsComplexCard.Sections[0].Facts[2]; Assert.Equal("Task status", fact.Name); Assert.Equal((string)data.status, fact.Value); }
public void msteams_card_fact_analyzed_at_is_set_from_sonarqube_webhook_data_based_on_specified_culture() { // Arrange var sonarqubeToMSTeamsConverter = new SonarqubeToMSTeamsConverter(); dynamic data = GetExampleSonarqubeQualityGateOkJson(); string culture = "sv-SE"; // Act var msTeamsComplexCard = sonarqubeToMSTeamsConverter.ToComplexCard(data, culture); // Assert var fact = msTeamsComplexCard.Sections[0].Facts[0]; CultureInfo cultureInfo = new CultureInfo(culture); Assert.Equal(data.analysedAt.Value.ToString("G", cultureInfo), fact.Value); }
public void msteams_card_fact_analyzed_at_is_set_from_sonarqube_webhook_data() { // Arrange var sonarqubeToMSTeamsConverter = new SonarqubeToMSTeamsConverter(); dynamic data = GetExampleSonarqubeQualityGateOkJson(); string culture = null; // Act var msTeamsComplexCard = sonarqubeToMSTeamsConverter.ToComplexCard(data, culture); // Assert var fact = msTeamsComplexCard.Sections[0].Facts[0]; Assert.Equal("Analyzed at", fact.Name); Assert.Equal(data.analysedAt.Value.ToString("G"), fact.Value); }
public void sonarqube_webhook_with_quality_gate_neither_ok_nor_error_gets_yellow_msteams_card() { // Arrange var sonarqubeToMSTeamsConverter = new SonarqubeToMSTeamsConverter(); dynamic data = GetExampleSonarqubeQualityGateOtherJson(); string culture = null; // Act var msTeamsComplexCard = sonarqubeToMSTeamsConverter.ToComplexCard(data, culture); // Assert Assert.Equal("FFFF00", msTeamsComplexCard.ThemeColor); var section = msTeamsComplexCard.Sections[0]; Assert.Equal(SonarqubeToMSTeamsConverter.GetActivityImageInconclusive(), section.ActivityImage); Assert.Contains("inconclusive", section.ActivityTitle); Assert.Contains((string)data.qualityGate.status, section.ActivitySubtitle); }
public void sonarqube_webhook_with_quality_gate_ok_gets_green_msteams_card() { // Arrange var sonarqubeToMSTeamsConverter = new SonarqubeToMSTeamsConverter(); dynamic data = GetExampleSonarqubeQualityGateOkJson(); string culture = null; // Act var msTeamsComplexCard = sonarqubeToMSTeamsConverter.ToComplexCard(data, culture); // Assert Assert.Equal("00FF00", msTeamsComplexCard.ThemeColor); var section = msTeamsComplexCard.Sections[0]; Assert.Equal(SonarqubeToMSTeamsConverter.GetActivityImageSuccess(), section.ActivityImage); Assert.Contains("succeeded", section.ActivityTitle); Assert.Contains((string)data.qualityGate.status, section.ActivitySubtitle); }
public void msteams_card_will_contain_a_potentialaction_with_link_to_sonarqube_portal() { // Arrange var sonarqubeToMSTeamsConverter = new SonarqubeToMSTeamsConverter(); dynamic data = GetExampleSonarqubeQualityGateOkJson(); string culture = null; // Act var msTeamsComplexCard = sonarqubeToMSTeamsConverter.ToComplexCard(data, culture); // Assert var potentialAction = msTeamsComplexCard.PotentialAction[0]; Assert.Equal("OpenUri", potentialAction.Type); Assert.Equal("Open in Sonarqube", potentialAction.Name); var potentialActionTarget = potentialAction.Targets[0]; Assert.Equal("default", potentialActionTarget.OS); Assert.Equal(new System.Uri((string)data.project.url), potentialActionTarget.Uri); }
public void can_convert_valid_sonarqube_webhook_to_msteams_card() { // Arrange var sonarqubeToMSTeamsConverter = new SonarqubeToMSTeamsConverter(); dynamic data = GetExampleSonarqubeQualityGateOkJson(); string culture = null; // Act var msTeamsComplexCard = sonarqubeToMSTeamsConverter.ToComplexCard(data, culture); // Assert Assert.NotNull(msTeamsComplexCard); Assert.Equal("MessageCard", msTeamsComplexCard.Type); Assert.Equal(new System.Uri("http://schema.org/extensions"), msTeamsComplexCard.Context); Assert.NotEmpty(msTeamsComplexCard.Summary); Assert.True(msTeamsComplexCard.Sections.Length > 0); var potentialAction = msTeamsComplexCard.PotentialAction[0]; Assert.Equal("OpenUri", potentialAction.Type); }