public void GetConfiguration_NoMatchingProvider_Throws() { // Arrange var otherProvider = new DummyProvider(Language.VBNET); var qp = new SonarQubeQualityProfile("key", "name", "language", false, DateTime.UtcNow); var testSubject = new CompositeBindingConfigProvider(otherProvider); // 1. Multiple matching providers -> config from the first matching provider returned Action act = () => testSubject.GetConfigurationAsync(qp, "org", Language.Cpp, CancellationToken.None).Wait(); act.Should().ThrowExactly <AggregateException>().And.InnerException.Should().BeOfType <ArgumentOutOfRangeException>(); }
public async Task GetConfiguration_WithMatchingProvider_ExpectedConfigReturned() { // Arrange var otherProvider = new DummyProvider(Language.VBNET); var cppProvider1 = new DummyProvider(Language.Cpp); var cppProvider2 = new DummyProvider(Language.Cpp); var qp = new SonarQubeQualityProfile("key", "name", "language", false, DateTime.UtcNow); var testSubject = new CompositeBindingConfigProvider(otherProvider, cppProvider1, cppProvider2); // Act. Multiple matching providers -> config from the first matching provider returned var actualConfig = await testSubject.GetConfigurationAsync(qp, "org", Language.Cpp, CancellationToken.None); actualConfig.Should().Be(cppProvider1.ConfigToReturn); }