public void SetSystemDateTimeInvalidDateTimeTest()
        {
            RunTest(
                () =>
            {
                SystemDateTime testDateTimeSettins = new SystemDateTime();
                Proxies.Onvif.DateTime dateTime    = new Proxies.Onvif.DateTime();

                Proxies.Onvif.TimeZone timeZone = new Proxies.Onvif.TimeZone();

                timeZone.TZ = "PST8PDT,M3.2.0,M11.1.0";

                dateTime.Date = new Date();
                dateTime.Time = new Time();

                dateTime.Date.Day   = 32;
                dateTime.Date.Month = 13;
                dateTime.Date.Year  = 2001;

                dateTime.Time.Hour   = 25;
                dateTime.Time.Minute = 65;
                dateTime.Time.Second = 70;

                testDateTimeSettins.DateTimeType    = SetDateTimeType.Manual;
                testDateTimeSettins.DaylightSavings = false;
                testDateTimeSettins.TimeZone        = timeZone;
                testDateTimeSettins.UTCDateTime     = dateTime;

                bool fault    = false;
                string reason = "The DUT did not return SOAP FAULT";
                try
                {
                    SetSystemDateAndTime(testDateTimeSettins);
                }
                catch (FaultException exc)
                {
                    string faultDump;
                    fault = exc.IsValidOnvifFault("Sender/InvalidArgVal/InvalidDateTime", out faultDump);
                    if (!fault)
                    {
                        reason = string.Format("The SOAP FAULT returned from the DUT is invalid: {0}", faultDump);
                    }
                    SaveStepFault(exc);
                    StepPassed();
                }

                Assert(fault, reason, "Verify that correct SOAP FAULT is returned");

                SystemDateTime actualDateTime = GetSystemDateAndTime();

                Assert(actualDateTime != null, "Date and time settings not found",
                       "Check that DUT returned date and time settings");

                //Assert(actualDateTime.TimeZone != null, "The DUT did not return TimeZone settings",
                //       "Check that DUT returned TimeZone settings");

                //ValidateTimeZone(testDateTimeSettins.TimeZone.TZ, actualDateTime.TimeZone.TZ);

                if (actualDateTime.TimeZone != null)
                {
                    TimeZoneDescription actualDescription = new TimeZoneDescription();
                    string tzdump;
                    bool bParseOk = ParseTimeZone(actualDateTime.TimeZone.TZ, actualDescription, out tzdump);
                    Assert(bParseOk, string.Format("Time zone format is not correct: {0}", tzdump),
                           "Validate TimeZone string", string.Format("TimeZone: {0}", actualDateTime.TimeZone.TZ));
                }
                else
                {
                    WriteStep("Validate TimeZone", "TimeZone is null");
                }

                bool bCorrect = true;
                string dump   = null;

                if (actualDateTime.DateTimeType == SetDateTimeType.Manual)
                {
                    bCorrect = (actualDateTime.UTCDateTime != null);
                    dump     = string.Format("DateTimeType: Manual; LocalDateTime: {0}; UTCDateTime: {1}",
                                             actualDateTime.LocalDateTime == null ? "NOT PRESENT" : "PRESENT",
                                             actualDateTime.UTCDateTime == null ? "NOT PRESENT" : "PRESENT");
                }
                else
                {
                    dump = "DateTimeType: NTP";
                }

                Assert(bCorrect, "DateTimeType is Manual but UTCDateTime is not set", "Check if settings are self-consistent", dump);

                if (actualDateTime.LocalDateTime != null)
                {
                    string errorMessage;
                    bool bDateTimeValid = actualDateTime.LocalDateTime.IsValidDateTime("LocalDateTime", out errorMessage);
                    Assert(bDateTimeValid, errorMessage, "Validate LocalDateTime");
                }
                else
                {
                    WriteStep("Validate LocalDateTime", "LocalDateTime is NULL");
                }

                if (actualDateTime.UTCDateTime != null)
                {
                    string errorMessage;
                    bool bDateTimeValid = actualDateTime.UTCDateTime.IsValidDateTime("UTCDateTime", out errorMessage);
                    Assert(bDateTimeValid, errorMessage, "Validate UTCDateTime");
                }
                else
                {
                    WriteStep("Validate UTCDateTime", "UTCDateTime is NULL");
                }
            },
                () =>
            {
                // set current time
                SetCurrentTime();
            });
        }
Ejemplo n.º 2
0
        public void SetSystemDateTimeInvalidDateTimeTest()
        {
            RunTest(
                () =>
            {
                Proxies.Onvif.DateTime dateTime = new Proxies.Onvif.DateTime();

                Proxies.Onvif.TimeZone timeZone = new Proxies.Onvif.TimeZone();

                timeZone.TZ = "PST8PDT,M3.2.0,M11.1.0";

                dateTime.Date = new Date();
                dateTime.Time = new Time();

                dateTime.Date.Day   = 32;
                dateTime.Date.Month = 13;
                dateTime.Date.Year  = 2001;

                dateTime.Time.Hour   = 25;
                dateTime.Time.Minute = 65;
                dateTime.Time.Second = 70;

                RunStep(() => { Client.SetSystemDateAndTime(SetDateTimeType.Manual, true, timeZone, dateTime); },
                        "Set system date and time - negative test",
                        "Sender/InvalidArgVal/InvalidDateTime", false);


                SystemDateTime actualDateTime = GetSystemDateAndTime();

                Assert(actualDateTime != null, "Date and time settings not found",
                       "Check that DUT returned date and time settings");

                //Assert(actualDateTime.TimeZone != null, "The DUT did not return TimeZone settings",
                //       "Check that DUT returned TimeZone settings");

                //ValidateTimeZone(testDateTimeSettins.TimeZone.TZ, actualDateTime.TimeZone.TZ);

                if (actualDateTime.TimeZone != null)
                {
                    TimeZoneDescription actualDescription = new TimeZoneDescription();
                    string tzdump;
                    bool bParseOk = ParseTimeZone(actualDateTime.TimeZone.TZ, actualDescription, out tzdump);
                    Assert(bParseOk, string.Format("Time zone format is not correct: {0}", tzdump),
                           "Validate TimeZone string", string.Format("TimeZone: {0}", actualDateTime.TimeZone.TZ));
                }
                else
                {
                    WriteStep("Validate TimeZone", "TimeZone is null");
                }

                bool bCorrect = true;
                string dump   = null;

                if (actualDateTime.DateTimeType == SetDateTimeType.Manual)
                {
                    bCorrect = (actualDateTime.UTCDateTime != null);
                    dump     = string.Format("DateTimeType: Manual; LocalDateTime: {0}; UTCDateTime: {1}",
                                             actualDateTime.LocalDateTime == null ? "NOT PRESENT" : "PRESENT",
                                             actualDateTime.UTCDateTime == null ? "NOT PRESENT" : "PRESENT");
                }
                else
                {
                    dump = "DateTimeType: NTP";
                }

                Assert(bCorrect, "DateTimeType is Manual but UTCDateTime is not set", "Check if settings are self-consistent", dump);

                if (actualDateTime.LocalDateTime != null)
                {
                    string errorMessage;
                    bool bDateTimeValid = actualDateTime.LocalDateTime.IsValidDateTime("LocalDateTime", out errorMessage);
                    Assert(bDateTimeValid, errorMessage, "Validate LocalDateTime");
                }
                else
                {
                    WriteStep("Validate LocalDateTime", "LocalDateTime is NULL");
                }

                if (actualDateTime.UTCDateTime != null)
                {
                    string errorMessage;
                    bool bDateTimeValid = actualDateTime.UTCDateTime.IsValidDateTime("UTCDateTime", out errorMessage);
                    Assert(bDateTimeValid, errorMessage, "Validate UTCDateTime");
                }
                else
                {
                    WriteStep("Validate UTCDateTime", "UTCDateTime is NULL");
                }
            },
                () =>
            {
                // set current time
                SetCurrentTime();
            });
        }
        public void SetSystemDateTimeInvalidTimezoneTest()
        {
            RunTest(() =>
            {
                SystemDateTime testDateTimeSettins = new SystemDateTime();
                Proxies.Onvif.DateTime dateTime    = new Proxies.Onvif.DateTime();

                Proxies.Onvif.TimeZone timeZone = new Proxies.Onvif.TimeZone();

                timeZone.TZ = "INVALIDTIMEZONE";

                dateTime.Date = new Date();
                dateTime.Time = new Time();

                dateTime.Date.Day   = System.DateTime.Now.Day;
                dateTime.Date.Month = System.DateTime.Now.Month;
                dateTime.Date.Year  = System.DateTime.Now.Year;

                dateTime.Time.Hour   = System.DateTime.Now.Hour;
                dateTime.Time.Minute = System.DateTime.Now.Minute;
                dateTime.Time.Second = System.DateTime.Now.Second;

                testDateTimeSettins.DateTimeType    = SetDateTimeType.Manual;
                testDateTimeSettins.DaylightSavings = true;
                testDateTimeSettins.UTCDateTime     = dateTime;
                testDateTimeSettins.TimeZone        = timeZone;

                bool fault    = false;
                string reason = "The DUT did not return SOAP FAULT";
                try
                {
                    SetSystemDateAndTime(testDateTimeSettins);
                }
                catch (FaultException exc)
                {
                    string faultDump;
                    fault = exc.IsValidOnvifFault("Sender/InvalidArgVal/InvalidTimeZone", out faultDump);
                    if (!fault)
                    {
                        reason = string.Format("The SOAP FAULT returned from the DUT is invalid: {0}", faultDump);
                    }
                    SaveStepFault(exc);
                    StepPassed();
                }

                Assert(fault, reason, "Verify that correct SOAP FAULT is returned");

                SystemDateTime actualDateTime = GetSystemDateAndTime();

                Assert(actualDateTime != null, "Date and time settings not found",
                       "Check that DUT returned date and time settings");

                Assert(actualDateTime.TimeZone != null, "The DUT did not return TimeZone settings",
                       "Check that DUT returned TimeZone settings");

                bool bCorrect = true;
                string dump   = null;

                if (actualDateTime.DateTimeType == SetDateTimeType.Manual)
                {
                    bCorrect = (actualDateTime.UTCDateTime != null);
                    dump     = string.Format("DateTimeType: Manual; LocalDateTime: {0}; UTCDateTime: {1}",
                                             actualDateTime.LocalDateTime == null ? "NOT PRESENT" : "PRESENT",
                                             actualDateTime.UTCDateTime == null ? "NOT PRESENT" : "PRESENT");
                }
                else
                {
                    dump = "DateTimeType: NTP";
                }


                Assert(bCorrect, "DateTimeType is Manual but UTCDateTime is not set", "Check if settings are self-consistent", dump);

                if (actualDateTime.LocalDateTime != null)
                {
                    string errorMessage;
                    bool bDateTimeValid = actualDateTime.LocalDateTime.IsValidDateTime("LocalDateTime", out errorMessage);
                    Assert(bDateTimeValid, errorMessage, "Validate LocalDateTime");
                }
                else
                {
                    WriteStep("Validate LocalDateTime", "LocalDateTime is NULL");
                }

                if (actualDateTime.UTCDateTime != null)
                {
                    string errorMessage;
                    bool bDateTimeValid = actualDateTime.UTCDateTime.IsValidDateTime("UTCDateTime", out errorMessage);
                    Assert(bDateTimeValid, errorMessage, "Validate UTCDateTime");
                }
                else
                {
                    WriteStep("Validate UTCDateTime", "UTCDateTime is NULL");
                }
            },
                    () =>
            {
                SetCurrentTime();
            });
        }
Ejemplo n.º 4
0
        public void SetSystemDateTimeInvalidTimezoneTest()
        {
            RunTest(() =>
            {
                Proxies.Onvif.DateTime dateTime = new Proxies.Onvif.DateTime();

                Proxies.Onvif.TimeZone timeZone = new Proxies.Onvif.TimeZone();

                timeZone.TZ = "INVALIDTIMEZONE";

                dateTime.Date = new Date();
                dateTime.Time = new Time();

                dateTime.Date.Day   = System.DateTime.Now.Day;
                dateTime.Date.Month = System.DateTime.Now.Month;
                dateTime.Date.Year  = System.DateTime.Now.Year;

                dateTime.Time.Hour   = System.DateTime.Now.Hour;
                dateTime.Time.Minute = System.DateTime.Now.Minute;
                dateTime.Time.Second = System.DateTime.Now.Second;

                RunStep(() => { Client.SetSystemDateAndTime(SetDateTimeType.Manual, true, timeZone, dateTime); },
                        "Set system date and time - negative test",
                        "Sender/InvalidArgVal/InvalidTimeZone", false);

                SystemDateTime actualDateTime = GetSystemDateAndTime();

                Assert(actualDateTime != null, "Date and time settings not found",
                       "Check that DUT returned date and time settings");

                Assert(actualDateTime.TimeZone != null, "The DUT did not return TimeZone settings",
                       "Check that DUT returned TimeZone settings");

                bool bCorrect = true;
                string dump   = null;

                if (actualDateTime.DateTimeType == SetDateTimeType.Manual)
                {
                    bCorrect = (actualDateTime.UTCDateTime != null);
                    dump     = string.Format("DateTimeType: Manual; LocalDateTime: {0}; UTCDateTime: {1}",
                                             actualDateTime.LocalDateTime == null ? "NOT PRESENT" : "PRESENT",
                                             actualDateTime.UTCDateTime == null ? "NOT PRESENT" : "PRESENT");
                }
                else
                {
                    dump = "DateTimeType: NTP";
                }

                Assert(bCorrect, "DateTimeType is Manual but UTCDateTime is not set", "Check if settings are self-consistent", dump);

                if (actualDateTime.LocalDateTime != null)
                {
                    string errorMessage;
                    bool bDateTimeValid = actualDateTime.LocalDateTime.IsValidDateTime("LocalDateTime", out errorMessage);
                    Assert(bDateTimeValid, errorMessage, "Validate LocalDateTime");
                }
                else
                {
                    WriteStep("Validate LocalDateTime", "LocalDateTime is NULL");
                }

                if (actualDateTime.UTCDateTime != null)
                {
                    string errorMessage;
                    bool bDateTimeValid = actualDateTime.UTCDateTime.IsValidDateTime("UTCDateTime", out errorMessage);
                    Assert(bDateTimeValid, errorMessage, "Validate UTCDateTime");
                }
                else
                {
                    WriteStep("Validate UTCDateTime", "UTCDateTime is NULL");
                }
            },
                    () =>
            {
                SetCurrentTime();
            });
        }