コード例 #1
0
        public void InvokePowerBIRestMethod_ModifyHeaders()
        {
            // Arrange
            var initFactory       = new TestPowerBICmdletNoClientInitFactory(true);
            var testAuthenticator = initFactory.Authenticator;
            var accessToken       = testAuthenticator.Authenticate(profile: null, logger: null, settings: null, queryParameters: null).Result;
            var testHeaderName    = "TestExample";
            var testHeaderValue   = "Example";

            using (var client = new HttpClient())
            {
                var mock = new MockInvokePowerBIRestMethodCmdlet(initFactory)
                {
                    Headers = new System.Collections.Hashtable()
                    {
                        { testHeaderName, testHeaderValue }
                    }
                };

                // Act
                mock.InvokePopulateClient(accessToken, client);

                // Assert
                Assert.AreEqual(0, client.DefaultRequestHeaders.Accept.Count);
                Assert.IsTrue(client.DefaultRequestHeaders.TryGetValues(testHeaderName, out IEnumerable <string> headerValues));
                Assert.IsNotNull(headerValues);
                Assert.AreEqual(1, headerValues.Count());
                Assert.AreEqual(testHeaderValue, headerValues.First());
            }
        }
        public void ConnectPowerBIServiceAccountDiscoveryUrl_NullCustomEnvironment()
        {
            // Arrange
            var initFactory = new TestPowerBICmdletNoClientInitFactory(false);
            var cmdlet      = new ConnectPowerBIServiceAccount(initFactory)
            {
                DiscoveryUrl = "https://api.powerbi.com/powerbi/globalservice/v201606/environments/discover?client=powerbi-msolap"
            };

            // Act
            cmdlet.InvokePowerBICmdlet();

            //Assert
            Assert.Fail("Custom environment was not provided");
        }
コード例 #3
0
        public void InvokePowerBIRestMethod_DefaultTimeout()
        {
            // Arrange
            var initFactory       = new TestPowerBICmdletNoClientInitFactory(true);
            var testAuthenticator = initFactory.Authenticator;
            var accessToken       = testAuthenticator.Authenticate(profile: null, logger: null, settings: null, queryParameters: null).Result;

            using (var client = new HttpClient())
            {
                var mock = new MockInvokePowerBIRestMethodCmdlet(initFactory);

                // Act
                mock.InvokePopulateClient(accessToken, client);

                // Assert
                Assert.AreEqual(client.Timeout, TimeSpan.FromSeconds(100)); // default http client timeout
            }
        }
コード例 #4
0
        public void ConnectPowerBIServiceAccountServiceWithTenantId_PrincipalParameterSet()
        {
            // Arrange
            var initFactory    = new TestPowerBICmdletNoClientInitFactory(false);
            var testTenantName = "test.microsoftonline.com";
            var cmdlet         = new ConnectPowerBIServiceAccount(initFactory)
            {
                Tenant           = testTenantName,
                ServicePrincipal = true,
                Credential       = new PSCredential("appId", new SecureString()),
                ParameterSet     = "ServicePrincipal"
            };

            // Act
            cmdlet.InvokePowerBICmdlet();

            // Assert
            var profile = initFactory.GetProfileFromStorage();

            Assert.IsNotNull(profile);
            Assert.IsTrue(profile.Environment.AzureADAuthority.Contains(testTenantName));
            initFactory.AssertExpectedUnitTestResults(new[] { profile });
        }