public override FindPTZPositionResultList GetPTZPositionSearchResults(string SearchToken, int MinResults, [System.Xml.Serialization.XmlIgnoreAttribute()] bool MinResultsSpecified, int MaxResults, [System.Xml.Serialization.XmlIgnoreAttribute()] bool MaxResultsSpecified, string WaitTime) { ParametersValidation validation = new ParametersValidation(); validation.Add(ParameterType.String, "SearchToken", SearchToken); int?minResults = null; if (MinResultsSpecified) { minResults = MinResults; } validation.Add(ParameterType.OptionalInt, "MinResults", minResults); int?maxResults = null; if (MaxResultsSpecified) { maxResults = MaxResults; } validation.Add(ParameterType.OptionalInt, "MaxResults", maxResults); validation.Add(ParameterType.String, "WaitTime", WaitTime); FindPTZPositionResultList result = (FindPTZPositionResultList)ExecuteGetCommand(validation, SearchServiceTest.GetPTZPositionSearchResultsTest); return(result); }
protected FindPTZPositionResultList GetPTZPositionSearchResults(string searchToken, int?minResults, int?maxResults, string waitTime, string stepName) { FindPTZPositionResultList response = null; RunStep(() => { response = Client.GetPTZPositionSearchResults(searchToken, minResults, maxResults, waitTime).ResultList; }, stepName); return(response); }
protected List <FindPTZPositionResult> GetAllPtzSearchResults(string searchToken, PTZPositionFilter filter, int?minResults, int?maxResults, string waitTime, out SearchState state) { List <FindPTZPositionResult> ptsPositionsList = new List <FindPTZPositionResult>(); FindPTZPositionResultList response = null; DateTime started = DateTime.Now; DateTime dueTo = started.AddSeconds(_searchTimeout); bool completed = true; DateTime lastResponse = DateTime.Now; LogTestEvent(string.Format("All results should be received by {0}{1}", dueTo.StdTimeToString(), Environment.NewLine)); do { response = GetPTZPositionSearchResults(searchToken, minResults, maxResults, waitTime, "Get PTZ Search results"); lastResponse = DateTime.Now; // no request delay here! if (response.Result != null) { ptsPositionsList.AddRange(response.Result); } if (lastResponse > dueTo) { completed = false; break; } } while (response.SearchState != SearchState.Completed); ValidatePTZPositionSearchResults(filter, ptsPositionsList); state = response.SearchState; Assert(completed, string.Format("Completed state has not been achieved (last response received at {0}, State: {1})", lastResponse.StdTimeToString(), response.SearchState), "Check that search has been completed in due time"); return(ptsPositionsList); }
public override FindPTZPositionResultList GetPTZPositionSearchResults(string SearchToken, int MinResults, bool MinResultsSpecified, int MaxResults, bool MaxResultsSpecified, string WaitTime) { SearchSession session = SearchSessionManager.Instance.GetSession(SearchToken); if (session != null) { List <FindPTZPositionResult> data = (List <FindPTZPositionResult>)session.Data; FindPTZPositionResultList list = new FindPTZPositionResultList(); Random rnd = new Random(); int cnt = Math.Min(rnd.Next(1, 4), data.Count); rnd = new Random(); int sleep = rnd.Next(1, 3); System.Threading.Thread.Sleep(400 * sleep + 450); list.Result = new FindPTZPositionResult[cnt]; for (int i = 0; i < cnt; i++) { list.Result[i] = data[0]; data.RemoveAt(0); } session.ResultsSent = session.ResultsSent + cnt; list.SearchState = data.Count > 0 ? SearchState.Searching : SearchState.Completed; if (data.Count == 0) { SearchSessionManager.Instance.Sessions.Remove(session); } return(list); } else { CommonUtils.ReturnFault(new string[] { "Sender", "InvalidArgVal", "InvalidToken" }); return(null); } }