Ejemplo n.º 1
0
        protected ReplayServiceCapabilities GetReplayCapabilities()
        {
            ReplayPortClient          client       = ReplayClient;
            ReplayServiceCapabilities capabilities = null;

            RunStep(() => { capabilities = client.GetServiceCapabilities(); }, "Get Service Capabilities");
            return(capabilities);
        }
Ejemplo n.º 2
0
        protected ReplayServiceCapabilities GetReplayServiceCapabilities()
        {
            ReplayServiceCapabilities response = null;

            RunStep(() => { response = ReplayClient.GetServiceCapabilities(); }, "Get Replay service capabilities");
            DoRequestDelay();
            return(response);
        }
Ejemplo n.º 3
0
        public void CapabilitiesAndReplayServiceCapabilitiesTest()
        {
            RunTest(() =>
            {
                Service[] services = GetServices(true);

                Service replayService = services.FindService(Definitions.Onvif.OnvifService.REPLAY);

                Assert(replayService != null, "No Replay service information returned", "Check that the DUT returned Replay service information");

                Assert((replayService.Capabilities != null), "No Capabilities information included",
                       "Check that Capabilities element is included in Services element");

                ReplayServiceCapabilities serviceCapabilities = ParseReplayCapabilities(replayService.Capabilities);

                ReplayServiceCapabilities capabilities = GetReplayCapabilities();

                CompareCapabilities(serviceCapabilities, capabilities);
            },
                    () =>
            {
                CloseReplayClient();
            });
        }
Ejemplo n.º 4
0
        // first - via GetServices;
        // second - via ServiceCapabilities
        void CompareCapabilities(ReplayServiceCapabilities serviceCapabilities, ReplayServiceCapabilities capabilities)
        {
            BeginStep("Compare Capabilities");

            StringBuilder dump  = new StringBuilder();
            bool          equal = true;
            bool          local;

            List <TestUtils.CheckSettings <ReplayServiceCapabilities> > batch = new List <TestUtils.CheckSettings <ReplayServiceCapabilities> >();

            batch.Add(new TestUtils.CheckSettings <ReplayServiceCapabilities>()
            {
                FieldName         = "ReversePlayback",
                SpecifiedSelector = (S) => true,
                ValueSelector     = (S) => S.ReversePlayback
            });

            local = TestUtils.BatchCheckBoolean(serviceCapabilities, capabilities, "GetServices", "GetServiceCapabilities", batch, "", dump);
            equal = local;

            // second field - range
            // must compare float[]

            bool scNotEmpty = serviceCapabilities.SessionTimeoutRange != null &&
                              serviceCapabilities.SessionTimeoutRange.Length > 0;
            bool capNotEmpty = capabilities.SessionTimeoutRange != null &&
                               capabilities.SessionTimeoutRange.Length > 0;

            if (scNotEmpty && capNotEmpty)
            {
                foreach (float value in serviceCapabilities.SessionTimeoutRange)
                {
                    if (!capabilities.SessionTimeoutRange.Contains(value))
                    {
                        equal = false;
                        // value not found
                        dump.AppendFormat("Value {0} not found in SessionTimeoutRange received via GetServiceCapabilities{0}", Environment.NewLine);
                    }
                }
                foreach (float value in capabilities.SessionTimeoutRange)
                {
                    if (!serviceCapabilities.SessionTimeoutRange.Contains(value))
                    {
                        equal = false;
                        // value not found
                        dump.AppendFormat("Value {0} not found in SessionTimeoutRange received via GetServices{0}", Environment.NewLine);
                    }
                }
            }
            else
            {
                if (scNotEmpty)
                {
                    equal = false;
                    dump.AppendFormat("SessionTimeoutRange is missing in structure received via GetServiceCapabilities{0}", Environment.NewLine);
                }

                if (capNotEmpty)
                {
                    equal = false;
                    dump.AppendFormat("SessionTimeoutRange is missing in structure received via GetServices{0}", Environment.NewLine);
                }
            }

            if (!equal)
            {
                LogStepEvent(dump.ToStringTrimNewLine());
                throw new AssertException("Settings don't match");
            }

            StepPassed();
        }