Пример #1
0
 /// <summary>
 /// Set the default mock session settings to modify request and responses.
 /// </summary>
 /// <param name="testSession"></param>
 public static void SetDefaultTestSessionSettings(HttpSession testSession)
 {
     testSession.ServiceBaseUri = MockServerHelper.CommonServiceBaseUri;
     testSession.SessionProperties["Servername"] = "myserver01";
     testSession.SessionProperties["Username"]   = "******";
     testSession.SessionProperties["Password"]   = "******";
     testSession.ResponseModifier =
         new Action <HttpMessage>(
             (message) =>
     {
         DatabaseTestHelper.FixODataResponseUri(
             message.ResponseInfo,
             testSession.ServiceBaseUri,
             MockHttpServer.DefaultServerPrefixUri);
     });
     testSession.RequestModifier =
         new Action <HttpMessage.Request>(
             (request) =>
     {
         DatabaseTestHelper.FixODataRequestPayload(
             request,
             testSession.ServiceBaseUri,
             MockHttpServer.DefaultServerPrefixUri);
     });
 }
        public void GetAzureSqlDatabaseServiceObjectiveWithSqlAuth()
        {
            using (System.Management.Automation.PowerShell powershell =
                       System.Management.Automation.PowerShell.Create())
            {
                // Create a context
                NewAzureSqlDatabaseServerContextTests.CreateServerContextSqlAuth(
                    powershell,
                    "$context");

                HttpSession testSession = MockServerHelper.DefaultSessionCollection.GetSession(
                    "UnitTests.GetAzureSqlServiceObjectiveWithSqlAuth");
                DatabaseTestHelper.SetDefaultTestSessionSettings(testSession);
                testSession.RequestValidator =
                    new Action <HttpMessage, HttpMessage.Request>(
                        (expected, actual) =>
                {
                    Assert.AreEqual(expected.RequestInfo.Method, actual.Method);
                    Assert.AreEqual(expected.RequestInfo.UserAgent, actual.UserAgent);
                    switch (expected.Index)
                    {
                    // Request 0-6: Retrieving all (6) ServiceObjectives and DimensionSettings
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                    case 5:
                    case 6:
                    // Request 7-8: Retrieving Reserved P1 ServiceObjectives and DimensionSettings
                    case 7:
                    case 8:
                        DatabaseTestHelper.ValidateHeadersForODataRequest(
                            expected.RequestInfo,
                            actual);
                        break;

                    default:
                        Assert.Fail("No more requests expected.");
                        break;
                    }
                });
                testSession.ResponseModifier =
                    new Action <HttpMessage>(
                        (message) =>
                {
                    DatabaseTestHelper.FixODataResponseUri(
                        message.ResponseInfo,
                        testSession.ServiceBaseUri,
                        MockHttpServer.DefaultServerPrefixUri);
                });

                using (AsyncExceptionManager exceptionManager = new AsyncExceptionManager())
                {
                    Collection <PSObject> objectives, objective1;
                    using (new MockHttpServer(
                               exceptionManager,
                               MockHttpServer.DefaultServerPrefixUri,
                               testSession))
                    {
                        objectives = powershell.InvokeBatchScript(
                            @"Get-AzureSqlDatabaseServiceObjective " +
                            @"-Context $context");

                        objective1 = powershell.InvokeBatchScript(
                            @"Get-AzureSqlDatabaseServiceObjective " +
                            @"-Context $context " +
                            @"-ServiceObjectiveName ""P1""");
                    }

                    Assert.AreEqual(0, powershell.Streams.Error.Count, "Errors during run!");
                    Assert.AreEqual(0, powershell.Streams.Warning.Count, "Warnings during run!");
                    powershell.Streams.ClearStreams();

                    Assert.AreEqual(6, objectives.Count, "Expecting 6 Objective objects");

                    Assert.IsTrue(
                        objective1.Single().BaseObject is Services.Server.ServiceObjective,
                        "Expecting a ServiceObjective object");
                    Services.Server.ServiceObjective objective1Obj =
                        (Services.Server.ServiceObjective)objective1.Single().BaseObject;
                    Assert.AreEqual("P1", objective1Obj.Name, "Expected objective name to be 'Reserved P1'");
                }
            }
        }