示例#1
0
        public void TestHandleMessage()
        {
            try {
                ContextStore.AddKey("SoapMethod", "get");

                XmlDocument xDoc = new XmlDocument();
                xDoc.LoadXml(SoapMessages_v201406.GetAccountAlerts);
                XmlElement xRequest = (XmlElement)xDoc.SelectSingleNode("/Example/SOAP/Response");
                xDoc.LoadXml(xRequest.InnerText);
                AlertService service = (AlertService)user.GetService(AdWordsService.v201406.AlertService);

                AdWordsCallListener.Instance.HandleMessage(xDoc, service, SoapMessageDirection.IN);

                Assert.AreEqual(user.GetTotalOperationCount(), 2);
                Assert.AreEqual(user.GetOperationCountForLastCall(), 2);
                ApiCallEntry[] callEntries = user.GetCallDetails();
                Assert.AreEqual(callEntries.Length, 1);
                ApiCallEntry callEntry = user.GetCallDetails()[0];

                Assert.AreEqual(callEntry.OperationCount, 2);
                Assert.AreEqual(callEntry.Method, "get");
                Assert.AreEqual(callEntry.Service.Signature.ServiceName, "AlertService");
            } finally {
                ContextStore.RemoveKey("SoapMethod");
            }
        }
示例#2
0
        public void TestCallEntryExtractedFromXml()
        {
            AdWordsUser user = new AdWordsUser();
            AdWordsSoapHeaderInspector inspector = new AdWordsSoapHeaderInspector()
            {
                User = user
            };
            XmlDocument xDoc      = XmlUtilities.CreateDocument(SoapMessages_v201708.UpdateCampaign);
            XmlElement  xResponse = (XmlElement)xDoc.SelectSingleNode("/Example/SOAP/Response");

            xDoc.LoadXml(xResponse.InnerText);
            this.response =
                Message.CreateMessage(new XmlNodeReader(xDoc), Int32.MaxValue, TestMessageVersion);

            inspector.AfterReceiveReply(ref this.response, null);

            // API no longer returns operation count.
            Assert.AreEqual(user.GetTotalOperationCount(), 0);
            Assert.AreEqual(user.GetOperationCountForLastCall(), 0);

            ApiCallEntry[] callEntries = user.GetCallDetails();
            Assert.AreEqual(callEntries.Length, 1);
            ApiCallEntry callEntry = user.GetCallDetails()[0];

            Assert.AreEqual(0, callEntry.OperationCount);
            Assert.AreEqual("mutate", callEntry.Method);
            Assert.AreEqual("CampaignService", callEntry.Service);
        }
示例#3
0
        public void TestCallEntryAddedToUser()
        {
            AdWordsSoapHeaderInspector inspector = new AdWordsSoapHeaderInspector()
            {
                User = new AdWordsUser(),
            };

            ResponseHeader responseHeader = new ResponseHeader()
            {
                operations   = 10,
                responseTime = 1234,
                serviceName  = "CampaignService",
                methodName   = "mutate"
            };

            response.Headers.Clear();
            response.Headers.Add(MessageHeader.CreateHeader(
                                     "ResponseHeader",
                                     ResponseHeader.PLACEHOLDER_NAMESPACE,
                                     responseHeader));
            inspector.AfterReceiveReply(ref this.response, null);

            ApiCallEntry[] entries = inspector.User.GetCallDetails();
            Assert.AreEqual(1, entries.Length);
            ApiCallEntry entry = entries[0];

            Assert.AreEqual(10, entry.OperationCount);
            Assert.AreEqual("mutate", entry.Method);
            Assert.AreEqual("CampaignService", entry.Service);
        }
        public void TestHandleMessage()
        {
            try {
                ContextStore.AddKey("SoapMethod", "mutate");

                XmlDocument xDoc     = XmlUtilities.CreateDocument(SoapMessages_v201609.UpdateCampaign);
                XmlElement  xRequest = (XmlElement)xDoc.SelectSingleNode("/Example/SOAP/Response");
                xDoc.LoadXml(xRequest.InnerText);
                CampaignService service = (CampaignService)user.GetService(
                    AdWordsService.v201609.CampaignService);

                AdWordsCallListener.Instance.HandleMessage(xDoc, service, SoapMessageDirection.IN);

                // API no longer returns operation count.
                Assert.AreEqual(user.GetTotalOperationCount(), 0);
                Assert.AreEqual(user.GetOperationCountForLastCall(), 0);

                ApiCallEntry[] callEntries = user.GetCallDetails();
                Assert.AreEqual(callEntries.Length, 1);
                ApiCallEntry callEntry = user.GetCallDetails()[0];

                // API no longer returns operation count.
                Assert.AreEqual(callEntry.OperationCount, 0);

                Assert.AreEqual(callEntry.Method, "mutate");
                Assert.AreEqual(callEntry.Service.Signature.ServiceName, "CampaignService");
            } finally {
                ContextStore.RemoveKey("SoapMethod");
            }
        }
示例#5
0
        public void TestGetAccountAlertsCSharpExample()
        {
            ExamplesMockData mockData = LoadMockData(SoapMessages_v201406.GetAccountAlerts);

            RunMockedExample(mockData, delegate() {
                new GetAccountAlerts().Run(user);
                Assert.AreEqual(user.GetTotalOperationCount(), 2);
                Assert.AreEqual(user.GetOperationCountForLastCall(), 2);
                ApiCallEntry[] callEntries = user.GetCallDetails();
                Assert.AreEqual(callEntries.Length, 1);
                ApiCallEntry callEntry = user.GetCallDetails()[0];
                Assert.AreEqual(callEntry.OperationCount, 2);
                Assert.AreEqual(callEntry.Method, "get");
                Assert.AreEqual(callEntry.Service.Signature.ServiceName, "AlertService");
            }, new WebRequestInterceptor.OnBeforeSendResponse(delegate(Uri uri,
                                                                       WebHeaderCollection headers, String body) {
            }));
        }
        public void TestUpdateCampaignsCSharpExample()
        {
            ExamplesMockData mockData = LoadMockData(SoapMessages_v201609.UpdateCampaign);

            RunMockedExample(mockData, delegate() {
                new UpdateCampaign().Run(user, TEST_CAMPAIGN_ID);

                // API no longer returns operation count.
                Assert.AreEqual(user.GetTotalOperationCount(), 0);
                Assert.AreEqual(user.GetOperationCountForLastCall(), 0);

                ApiCallEntry[] callEntries = user.GetCallDetails();
                Assert.AreEqual(callEntries.Length, 1);
                ApiCallEntry callEntry = user.GetCallDetails()[0];

                // API no longer returns operation count.
                Assert.AreEqual(callEntry.OperationCount, 0);

                Assert.AreEqual(callEntry.Method, "mutate");
                Assert.AreEqual(callEntry.Service.Signature.ServiceName, "CampaignService");
            }, new WebRequestInterceptor.OnBeforeSendResponse(delegate(Uri uri,
                                                                       WebHeaderCollection headers, String body) {
            }));
        }
 public void AddCallDetails(ApiCallEntry apiCall)
 {
     apiCalls.Add(apiCall);
 }