コード例 #1
0
        public void SonarQubeServiceWrapper_TryGetPlugins()
        {
            using (var testSubject = new TestableSonarQubeServiceWrapper(this.serviceProvider))
            {
                // Setup
                var connectionInfo = new ConnectionInformation(new Uri("http://servername"));
                var plugin1        = new ServerPlugin {
                    Key = "plugin1"
                };
                var plugin2 = new ServerPlugin {
                    Key = "plugin2"
                };

                var expectedPlugins = new[] { plugin1, plugin2 };

                // Setup test server
                RequestHandler handler = testSubject.RegisterRequestHandler(
                    SonarQubeServiceWrapper.ServerPluginsInstalledAPI,
                    ctx => ServiceServerPlugins(ctx, expectedPlugins)
                    );

                // Act
                ServerPlugin[] actualPlugins;
                Assert.IsTrue(testSubject.TryGetPlugins(connectionInfo, CancellationToken.None, out actualPlugins), "TryGetPlugins failed unexpectedly");

                // Verify
                CollectionAssert.AreEqual(expectedPlugins.Select(x => x.Key).ToArray(), actualPlugins.Select(x => x.Key).ToArray(), "Unexpected server plugins");
                handler.AssertHandlerCalled(1);
            }
        }
コード例 #2
0
        public void SonarQubeServiceWrapper_TryGetPlugins_ArgChecks()
        {
            using (var testSubject = new TestableSonarQubeServiceWrapper(this.serviceProvider, timeoutInMilliseconds: 1))
            {
                ServerPlugin[] plugins;

                // Null connection information
                Exceptions.Expect <ArgumentNullException>(() => testSubject.TryGetPlugins(null, CancellationToken.None, out plugins));

                // Those are API usage issue which we don't report to the output pane
                this.outputWindowPane.AssertOutputStrings(0);
            }
        }