Esempio n. 1
0
        void TC00136_dowork(bool request, bool response)
        {
            //Configuration c = CommonUtils.GetMappedConfig();
            Thread.Sleep(10000);
            string urlmod = MessageProcessor.ModifyURL(ConfigurationManager.AppSettings["HelloWorldASPNET2"], false);

            //c.AppSettings.Settings["HelloWorldASPNET2"].Value, true);
            try
            {
                CommonUtils.BounceIIS();
                CommonUtils.RemoveService(urlmod);
                Thread.Sleep(5000);
                CommonUtils.SetPolicy(urlmod, request, response);
                HelloWorldASPNET2.Service2 svc = new HelloWorldASPNET2.Service2();
                MessageProcessor           mp  = MessageProcessor.Instance;
                MessageProcessor.PurgeOutboundQueue();
                MessageProcessor.PurgePolicyCache();

                svc.Url = ConfigurationManager.AppSettings["HelloWorldASPNET2"];
                //c.AppSettings.Settings["HelloWorldASPNET2"].Value;
                string   s       = svc.HelloWorld("test");
                DateTime timeout = DateTime.Now.AddMinutes(2);

                Console.Out.WriteLine("message sent queue size" + MessageProcessor.GetQueueSize());
                while (MessageProcessor.GetQueueSize() > 0 && DateTime.Now < timeout)
                {
                    Thread.Sleep(1000);
                }
                Thread.Sleep(15000);
                svc.Dispose();
            }
            catch (Exception ex)
            {
                string _err = "";
                while (ex != null)
                {
                    _err += ex.Message + " " + ex.StackTrace;
                    ex    = ex.InnerException;
                }
                CommonUtils.RemoveService(urlmod);
                Assert.Fail(_err);
            }
            TransactionalWebServicePolicy tp = MessageProcessor.GetPolicyIfAvailable(urlmod, true);

            Assert.IsNotNull(tp);
            Assert.IsTrue(String.IsNullOrEmpty(MessageProcessor.LastErrorMessage));
            string s2 = CommonUtils.VerifyLastMessagePayloadsTwoAgentsOneTransaction(urlmod);

            CommonUtils.RemoveService(urlmod);
            if (!String.IsNullOrEmpty(s2))
            {
                Assert.Fail(s2);
            }
        }
Esempio n. 2
0
        public static void SetPolicy(string internalurl, bool recordrequest, bool requestresponse)
        {
            if (String.IsNullOrEmpty(internalurl))
            {
                throw new ArgumentNullException("url");
            }
            TransactionalWebServicePolicy tp = new TransactionalWebServicePolicy();

            tp.PolicyType            = policyType.Transactional;
            tp.URL                   = internalurl;
            tp.RecordHeaders         = true;
            tp.RecordRequestMessage  = recordrequest;
            tp.RecordResponseMessage = requestresponse;
            tp.MachineName           = Environment.MachineName.ToLower();
            tp.BuellerEnabled        = false;
            ConfigLoader cf  = new ConfigLoader();
            PCSBinding   svc = GetPCSProxyAdmin(cf.PCSurls[0]);
            SetServicePolicyRequestMsg req = new SetServicePolicyRequestMsg();

            req.classification = new SecurityWrapper();
            req.policy         = tp;
            req.URL            = internalurl;
            svc.SetServicePolicy(req);
        }
Esempio n. 3
0
        public static void SetPolicy(string internalurl, bool recordrequest, bool requestresponse)
        {
            if (String.IsNullOrEmpty(internalurl))
                throw new ArgumentNullException("url");
            TransactionalWebServicePolicy tp = new TransactionalWebServicePolicy();
            tp.PolicyType = policyType.Transactional;
            tp.URL = internalurl;
            tp.RecordHeaders = true;
            tp.RecordRequestMessage = recordrequest;
            tp.RecordResponseMessage = requestresponse;
            tp.MachineName = Environment.MachineName.ToLower();
            tp.BuellerEnabled = false;
            ConfigLoader cf = new ConfigLoader();
            PCSBinding svc = GetPCSProxyAdmin(cf.PCSurls[0]);
            SetServicePolicyRequestMsg req = new SetServicePolicyRequestMsg();

            req.classification = new SecurityWrapper();
            req.policy = tp;
            req.URL = internalurl;
            svc.SetServicePolicy(req);
        }
Esempio n. 4
0
        void dowork_TC00134_ALL_SELF_HOSTED(bool recordrequest, bool recordresponse)
        {
            CommonUtils.RemoveService(urlFirstHop);
            CommonUtils.RemoveService(urlSecondHop);
            CommonUtils.SetPolicy(urlFirstHop, recordrequest, recordresponse);
            CommonUtils.SetPolicy(urlSecondHop, recordrequest, recordresponse);

            try
            {
                MessageProcessor mp = MessageProcessor.Instance;
                MessageProcessor.PurgePolicyCache();
                MessageProcessor.PurgeOutboundQueue();
                Assert.IsTrue(MessageProcessor.GetPolicyCacheSize() == 0);
                Assert.IsTrue(MessageProcessor.GetQueueSize() == 0);
                ServiceHost host = new ServiceHost(typeof(FGSMSNetServiceImpl));
                host.Description.Behaviors.Remove(typeof(org.miloss.fgsms.agent.wcf.AgentWCFServiceBehavior));
                host.Description.Behaviors.Add(new org.miloss.fgsms.agent.wcf.AgentWCFServiceBehavior());
                host.Open();

                ServiceHost host2 = new ServiceHost(typeof(FGSMSNetServiceImpl2));
                host.Description.Behaviors.Remove(typeof(org.miloss.fgsms.agent.wcf.AgentWCFServiceBehavior));
                host2.Description.Behaviors.Add(new org.miloss.fgsms.agent.wcf.AgentWCFServiceBehavior());
                host2.Open();



                IFGSMSNetService         svc = WCFtTests.getproxyWithMonitor(urlFirstHop);
                SomeComplexRequestObject req = new SomeComplexRequestObject();
                req.stdout = "hi";

                SomeComplexReturnObject ret = svc.getDataViaChain(req);

                Thread.Sleep(10000);
                DateTime timeout = DateTime.Now.AddMinutes(2);
                Console.Out.WriteLine("message sent queue size" + MessageProcessor.GetQueueSize());
                while (MessageProcessor.GetQueueSize() > 0 && DateTime.Now < timeout)
                {
                    Thread.Sleep(1000);
                }
                ((IClientChannel)svc).Close();
                ((IClientChannel)svc).Dispose();
                host.Close();
                host2.Close();
            }
            catch (Exception ex)
            {
                string _err = "";
                while (ex != null)
                {
                    _err += ex.Message + " " + ex.StackTrace;
                    ex    = ex.InnerException;
                }
                CommonUtils.RemoveService(urlFirstHop);
                CommonUtils.RemoveService(urlSecondHop);
                Assert.Fail(_err);
            }

            Thread.Sleep(10000);
            string err = "";

            if (MessageProcessor.GetPolicyCacheSize() == 0)
            {
                err += "policy cache is empty, it should have at least one item in it";
            }
            if (!String.IsNullOrEmpty(MessageProcessor.LastErrorMessage))
            {
                err += "agent error " + MessageProcessor.LastErrorMessage;
            }

            TransactionalWebServicePolicy tp = MessageProcessor.GetPolicyIfAvailable(urlFirstHop, true);

            if (tp == null)
            {
                err += "the policy for the service was not cached, which means something went wrong" + urlFirstHop;
            }
            tp = MessageProcessor.GetPolicyIfAvailable(urlSecondHop, true);
            if (tp == null)
            {
                err += "the policy for the service was not cached, which means something went wrong" + urlSecondHop;
            }
            // err += CommonUtils.VerifyLastMessagePayloads(urlFirstHop, recordrequest, recordresponse, 2);
            //err += CommonUtils.VerifyLastMessagePayloadsTwoAgentsOneTransaction(urlFirstHop);
            err += CommonUtils.VerifyServiceChainingEvents(urlFirstHop, urlSecondHop, recordrequest, recordresponse);
            CommonUtils.RemoveService(urlFirstHop);
            CommonUtils.RemoveService(urlSecondHop);
            if (!String.IsNullOrEmpty(err))
            {
                Assert.Fail(err);
            }
        }
Esempio n. 5
0
        void TC00140_dowork(bool request, bool response)
        {
            Thread.Sleep(10000);
            MessageProcessor mp     = MessageProcessor.Instance;
            string           urlmod = WCFtTests.url;

            try
            {
                CommonUtils.RemoveService(urlmod);
                Thread.Sleep(5000);
                CommonUtils.SetPolicy(urlmod, request, response);
                aspnet.client.towcf.FGSMSNetServiceImpl svc = new aspnet.client.towcf.FGSMSNetServiceImpl();
                svc.Url = urlmod;


                MessageProcessor.PurgeOutboundQueue();
                MessageProcessor.PurgePolicyCache();

                ServiceHost host = new ServiceHost(typeof(FGSMSNetServiceImpl));
                host.Description.Behaviors.Remove(typeof(org.miloss.fgsms.agent.wcf.AgentWCFServiceBehavior));
                host.Description.Behaviors.Add(new org.miloss.fgsms.agent.wcf.AgentWCFServiceBehavior());
                host.Open();


                svc.Url = urlmod;
                aspnet.client.towcf.SomeComplexRequestObject x = new aspnet.client.towcf.SomeComplexRequestObject();
                x.stderr = "hi";
                x.stdout = "hi";
                svc.getData(x);
                DateTime timeout = DateTime.Now.AddMinutes(2);

                Console.Out.WriteLine("message sent queue size" + MessageProcessor.GetQueueSize());
                while (DateTime.Now < timeout && MessageProcessor.GetQueueSize() != 0)
                {
                    Thread.Sleep(1000);
                }
                host.Close();
                svc.Dispose();
                Thread.Sleep(1000);
            }
            catch (Exception ex)
            {
                string _err = "";
                while (ex != null)
                {
                    _err += ex.Message + " " + ex.StackTrace;
                    ex    = ex.InnerException;
                }
                CommonUtils.RemoveService(urlmod);
                Assert.Fail(_err);
            }
            TransactionalWebServicePolicy tp = MessageProcessor.GetPolicyIfAvailable(urlmod, true);

            Assert.IsNotNull(tp);
            Assert.IsTrue(String.IsNullOrEmpty(MessageProcessor.LastErrorMessage));
            string s2 = CommonUtils.VerifyLastMessagePayloadsTwoAgentsOneTransaction(urlmod);

            CommonUtils.RemoveService(urlmod);
            if (!String.IsNullOrEmpty(s2))
            {
                Assert.Fail(s2);
            }
        }
Esempio n. 6
0
 private static bool ContainsSLAXpathOrUserIdentXpath(TransactionalWebServicePolicy pol)
 {
     bool found = false;
     if (pol.UserIdentification != null && pol.UserIdentification.Length > 0)
     {
         for (int i = 0; i < pol.UserIdentification.Length; i++)
         {
             if (pol.UserIdentification[i].XPaths != null
                     && pol.UserIdentification[i].XPaths.Length > 0)
             {
                 found = true;
             }
         }
     }
     if (found)
     {
         return true;
     }
     if (pol.ServiceLevelAggrements != null && pol.ServiceLevelAggrements.Length > 0)
     {
         for (int i = 0; i < pol.ServiceLevelAggrements.Length; i++)
         {
             found = found || DoesSLAContainXpath(pol.ServiceLevelAggrements[i]);
         }
     }
     return found;
 }
Esempio n. 7
0
        public void dowork_156(bool recordrequest, bool recordresponse)
        {
            Thread.Sleep(10000);
            CommonUtils.RemoveService(url_mod);
            CommonUtils.SetPolicy(url_mod, recordrequest, recordresponse);
            try
            {
                MessageProcessor mp = MessageProcessor.Instance;
                MessageProcessor.PurgePolicyCache();
                MessageProcessor.PurgeOutboundQueue();
                Assert.IsTrue(MessageProcessor.GetPolicyCacheSize() == 0);
                Assert.IsTrue(MessageProcessor.GetQueueSize() == 0);
                WebServiceHost host = new WebServiceHost(typeof(Service), new Uri(url_mod));
                host.Description.Behaviors.Remove(typeof(org.miloss.fgsms.agent.wcf.AgentWCFServiceBehavior));
                host.Description.Behaviors.Add(new org.miloss.fgsms.agent.wcf.AgentWCFServiceBehavior());
                ServiceEndpoint ep = host.AddServiceEndpoint(typeof(IService), new WebHttpBinding(), "");
                host.Open();
                //do work
                WebClient c = new WebClient();
                c.DownloadString(url_mod + "EchoWithGet?s=hello");
                host.Close();
                Thread.Sleep(5000);
                DateTime timeout = DateTime.Now.AddMinutes(2);
                Console.Out.WriteLine("message sent queue size" + MessageProcessor.GetQueueSize());
                while (MessageProcessor.GetQueueSize() > 0 && DateTime.Now < timeout)
                {
                    Thread.Sleep(1000);
                }
            }
            catch (Exception ex)
            {
                string _err = "";
                while (ex != null)
                {
                    _err += ex.Message + " " + ex.StackTrace;
                    ex    = ex.InnerException;
                }
                CommonUtils.RemoveService(url_mod);
                Assert.Fail(_err);
            }

            Thread.Sleep(10000);
            string err = "";

            if (MessageProcessor.GetPolicyCacheSize() == 0)
            {
                err += "policy cache is empty, it should have at least one item in it";
            }
            if (!String.IsNullOrEmpty(MessageProcessor.LastErrorMessage))
            {
                err += "agent error " + MessageProcessor.LastErrorMessage;
            }

            TransactionalWebServicePolicy tp = MessageProcessor.GetPolicyIfAvailable(url_mod, true);

            if (tp == null)
            {
                err += "the policy for the service was not cached, which means something went wrong";
            }
            err += CommonUtils.VerifyLastMessagePayloads(url_mod, recordrequest, recordresponse, 1);
            //err += CommonUtils.VerifyLastMessagePayloadsTwoAgentsOneTransaction(url_mod);
            CommonUtils.RemoveService(url_mod);
            if (!String.IsNullOrEmpty(err))
            {
                Assert.Fail(err);
            }
        }