mirror of
https://github.com/Readarr/Readarr.git
synced 2026-04-18 21:34:28 -04:00
New: Set up CI with Azure Pipelines (#897)
* Set up CI with Azure Pipelines [skip ci] * Remove Travis, Build Multiple Environments * Change Task Type to Bash * Checkout submodules * Remove Appveyor Tests, Add Azure Tests * Oops Forget Steps * bad name * test script fixes * add tests to build job * fixup tests * name test runs * fpcalc and artifacts * Try to fix installer * Publish separately * Try publish * Another go at artifacts * Tidy up * Add sentry, assembly info patching and bump version * Only patch one AssemblyInfo; set node version 10 * Try pipeline artifacts again * Tidy up - pipeline artifact seems to be way forward * Fix installer publish * first go at test job seperation * job names and depends/consitions for tests * pusblish single file test artifact * pipeline artifact for test * blitz the pattern filter * windows test jobs * mac tests, checkout on test jobs * try to download build artifact to test job * download and extract artifact * Set LD_LIBRARY_PATH and print some sqlite debug info on mac tests * fixup! tests * integration test fixes * fixup! integration test fixes * fixup! integration test fixes * more fixup * use bash cp * test fixups * mkdir before copy * linux works! add osx integration tests * im tooo tired * coverage attempt * coverage seperate stage * windows paths for integration test * switch coverage to windows where opencover actually works * fix test script * one last go * Simplify installer, try to fix name * Try to parallelize backend and frontend build * Try adding a matrix * Try matrix jobs not stages * Try to fix package step * Remove opencover install * Try to fix tests * coverage fixes * revert build.sh changes * triggers so we don't double build * Publish coverage package so we can debug * try coverage no build, output artifact * use the full pipeline workspace from build job * fix automation tests for new ui * Assorted fix attempts * Another go * MacOS debug * Tidy up, try to fix mac * Fix mac fpcalc, add mac integration tests * Add cross platform automation tests * Fix packages * Try to fix Automation tests * Don't wait on the installer to create standard packages * Fixes * delete logentries reference * run automation tests in headless mode * try install firefox mac * Revert "try install firefox mac" This reverts commit 4684bb19018747cb00407e1d8df64391f44f5183. * test sonarcloud prepare outputs * basic analyze and upload * don't limit fetch depth on analyze * manual scanner do front and backend? * full analyize with tests, coverage * should depend on tests, coverage * no need for condition on coverage * Fix up build numbering * Try to fix sonar * Separate coverage calculation and publication * Try to fix coverage upload
This commit is contained in:
@@ -34,7 +34,9 @@ namespace NzbDrone.Automation.Test
|
||||
[OneTimeSetUp]
|
||||
public void SmokeTestSetup()
|
||||
{
|
||||
driver = new FirefoxDriver();
|
||||
var options = new FirefoxOptions();
|
||||
options.AddArguments("--headless");
|
||||
driver = new FirefoxDriver(options);
|
||||
|
||||
_runner = new NzbDroneRunner(LogManager.GetCurrentClassLogger());
|
||||
_runner.KillAll();
|
||||
@@ -45,7 +47,7 @@ namespace NzbDrone.Automation.Test
|
||||
var page = new PageBase(driver);
|
||||
page.WaitForNoSpinner();
|
||||
|
||||
driver.ExecuteScript("window.NzbDrone.NameViews = true;");
|
||||
driver.ExecuteScript("window.Lidarr.NameViews = true;");
|
||||
|
||||
GetPageErrors().Should().BeEmpty();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using FluentAssertions;
|
||||
using FluentAssertions;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Automation.Test.PageModel;
|
||||
using OpenQA.Selenium;
|
||||
@@ -21,7 +21,7 @@ namespace NzbDrone.Automation.Test
|
||||
{
|
||||
page.ArtistNavIcon.Click();
|
||||
page.WaitForNoSpinner();
|
||||
page.FindByClass("iv-artist-index-artistindexlayout").Should().NotBeNull();
|
||||
page.Find(By.CssSelector("div[class*='ArtistIndex']")).Should().NotBeNull();
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -30,7 +30,7 @@ namespace NzbDrone.Automation.Test
|
||||
page.CalendarNavIcon.Click();
|
||||
page.WaitForNoSpinner();
|
||||
|
||||
page.FindByClass("iv-calendar-calendarlayout").Should().NotBeNull();
|
||||
page.Find(By.CssSelector("div[class*='CalendarPage']")).Should().NotBeNull();
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -39,7 +39,9 @@ namespace NzbDrone.Automation.Test
|
||||
page.ActivityNavIcon.Click();
|
||||
page.WaitForNoSpinner();
|
||||
|
||||
page.FindByClass("iv-activity-activitylayout").Should().NotBeNull();
|
||||
page.Find(By.LinkText("Queue")).Should().NotBeNull();
|
||||
page.Find(By.LinkText("History")).Should().NotBeNull();
|
||||
page.Find(By.LinkText("Blacklist")).Should().NotBeNull();
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -48,7 +50,8 @@ namespace NzbDrone.Automation.Test
|
||||
page.WantedNavIcon.Click();
|
||||
page.WaitForNoSpinner();
|
||||
|
||||
page.FindByClass("iv-wanted-missing-missinglayout").Should().NotBeNull();
|
||||
page.Find(By.LinkText("Missing")).Should().NotBeNull();
|
||||
page.Find(By.LinkText("Cutoff Unmet")).Should().NotBeNull();
|
||||
}
|
||||
|
||||
[Test]
|
||||
@@ -57,20 +60,20 @@ namespace NzbDrone.Automation.Test
|
||||
page.SystemNavIcon.Click();
|
||||
page.WaitForNoSpinner();
|
||||
|
||||
page.FindByClass("iv-system-systemlayout").Should().NotBeNull();
|
||||
page.Find(By.CssSelector("div[class*='Health']")).Should().NotBeNull();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void add_series_page()
|
||||
public void add_artist_page()
|
||||
{
|
||||
page.ArtistNavIcon.Click();
|
||||
page.WaitForNoSpinner();
|
||||
|
||||
page.Find(By.LinkText("Add Artist")).Click();
|
||||
page.Find(By.LinkText("Add New")).Click();
|
||||
|
||||
page.WaitForNoSpinner();
|
||||
|
||||
page.FindByClass("iv-addartist-addartistlayout").Should().NotBeNull();
|
||||
page.Find(By.CssSelector("input[class*='AddNewArtist-searchInput']")).Should().NotBeNull();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,8 +85,14 @@
|
||||
<PackageReference Include="NUnit">
|
||||
<Version>3.11.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Selenium.Firefox.WebDriver">
|
||||
<Version>0.24.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Selenium.Support">
|
||||
<Version>3.2.0</Version>
|
||||
<Version>3.141.0</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Selenium.WebDriver">
|
||||
<Version>3.141.0</Version>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Threading;
|
||||
using OpenQA.Selenium;
|
||||
using OpenQA.Selenium.Remote;
|
||||
@@ -47,16 +47,16 @@ namespace NzbDrone.Automation.Test.PageModel
|
||||
});
|
||||
}
|
||||
|
||||
public IWebElement ArtistNavIcon => FindByClass("x-artist-nav");
|
||||
public IWebElement ArtistNavIcon => Find(By.LinkText("Artist"));
|
||||
|
||||
public IWebElement CalendarNavIcon => FindByClass("x-calendar-nav");
|
||||
public IWebElement CalendarNavIcon => Find(By.LinkText("Calendar"));
|
||||
|
||||
public IWebElement ActivityNavIcon => FindByClass("x-activity-nav");
|
||||
public IWebElement ActivityNavIcon => Find(By.LinkText("Activity"));
|
||||
|
||||
public IWebElement WantedNavIcon => FindByClass("x-wanted-nav");
|
||||
public IWebElement WantedNavIcon => Find(By.LinkText("Wanted"));
|
||||
|
||||
public IWebElement SettingNavIcon => FindByClass("x-settings-nav");
|
||||
public IWebElement SettingNavIcon => Find(By.LinkText("Settings"));
|
||||
|
||||
public IWebElement SystemNavIcon => FindByClass("x-system-nav");
|
||||
public IWebElement SystemNavIcon => Find(By.PartialLinkText("System"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user