public static void VerifyDetailedOutput(LogsCmdletBase cmdlet, ref string selected) { // Calling with detailed output cmdlet.DetailedOutput = true; cmdlet.ExecuteCmdlet(); Assert.Null(selected); // Incorrect nameOrTargetUri clause with detailed output on }
public static void ExecuteVerifications(LogsCmdletBase cmdlet, Mock <IActivityLogsOperations> insinsightsEventOperationsMockightsClientMock, string requiredFieldName, string requiredFieldValue, ref ODataQuery <EventData> filter, ref string selected, DateTime startDate, AzureOperationResponse <IPage <EventData> > response) { // Calling without optional parameters cmdlet.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: null); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); Assert.True(string.Equals(PSEventDataNoDetails.SelectedFieldsForQuery, selected, StringComparison.OrdinalIgnoreCase), "Incorrect nameOrTargetUri clause without optional parameters"); // Calling with only start date cmdlet.StartTime = startDate; cmdlet.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: startDate); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); // Calling with only start and end date cmdlet.EndTime = startDate.AddSeconds(2); cmdlet.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: startDate); VerifyEndDateInFilter(filter: filter, endDate: startDate.AddSeconds(2)); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); // Calling with only caller cmdlet.EndTime = null; cmdlet.Caller = Utilities.Caller; cmdlet.ExecuteCmdlet(); VerifyCallerInCall(filter: filter, startDate: startDate, filedName: requiredFieldName, fieldValue: requiredFieldValue); // Calling with caller and status cmdlet.Status = Utilities.Status; cmdlet.ExecuteCmdlet(); VerifyStatusAndCallerInCall(filter: filter, startDate: startDate, filedName: requiredFieldName, fieldValue: requiredFieldValue); VerifyDetailedOutput(cmdlet: cmdlet, selected: ref selected); VerifyContinuationToken(response: response, insinsightsEventOperationsMockightsClientMock: insinsightsEventOperationsMockightsClientMock, cmdlet: cmdlet); // Execute negative tests cmdlet.StartTime = DateTime.Now.AddSeconds(1); Assert.Throws <ArgumentException>(() => cmdlet.ExecuteCmdlet()); cmdlet.StartTime = DateTime.Now.Subtract(TimeSpan.FromSeconds(20)); cmdlet.EndTime = DateTime.Now.Subtract(TimeSpan.FromSeconds(21)); Assert.Throws <ArgumentException>(() => cmdlet.ExecuteCmdlet()); cmdlet.StartTime = DateTime.Now.Subtract(TimeSpan.FromDays(30)); cmdlet.EndTime = DateTime.Now.Subtract(TimeSpan.FromDays(14)); Assert.Throws <ArgumentException>(() => cmdlet.ExecuteCmdlet()); }
public static void ExecuteVerifications(LogsCmdletBase cmdlet, Mock <IActivityLogsOperations> insinsightsEventOperationsMockightsClientMock, string requiredFieldName, string requiredFieldValue, ref ODataQuery <EventData> filter, DateTime startDate, ref string nextLink) { // Calling without optional parameters cmdlet.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: null); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); // Calling with only start date cmdlet.StartTime = startDate; nextLink = null; cmdlet.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: startDate); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); // Calling with only start and end date cmdlet.EndTime = startDate.AddSeconds(2); nextLink = null; cmdlet.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: startDate); VerifyEndDateInFilter(filter: filter, endDate: startDate.AddSeconds(2)); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); // Calling with only caller cmdlet.EndTime = null; cmdlet.Caller = Utilities.Caller; nextLink = null; cmdlet.ExecuteCmdlet(); VerifyCallerInCall(filter: filter, startDate: startDate, filedName: requiredFieldName, fieldValue: requiredFieldValue); // Calling with caller and status cmdlet.Status = Utilities.Status; nextLink = null; cmdlet.ExecuteCmdlet(); VerifyStatusAndCallerInCall(filter: filter, startDate: startDate, filedName: requiredFieldName, fieldValue: requiredFieldValue); VerifyDetailedOutput(cmdlet: cmdlet); // Calling with maxEvents (Note: # of returned objects is not testable here, only the call is being tested) var cmdLetLogs = cmdlet as GetAzureRmLogCommand; if (cmdLetLogs != null) { cmdLetLogs.Caller = null; cmdLetLogs.Status = null; nextLink = null; cmdLetLogs.MaxRecord = 3; cmdLetLogs.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: null); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); // Negative value nextLink = null; cmdLetLogs.MaxRecord = -1; cmdLetLogs.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: null); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); cmdLetLogs.MaxRecord = 0; } // Execute negative tests cmdlet.Caller = null; cmdlet.Status = null; cmdlet.StartTime = DateTime.Now.AddSeconds(1); nextLink = null; Assert.Throws <ArgumentException>(() => cmdlet.ExecuteCmdlet()); cmdlet.StartTime = DateTime.Now.Subtract(TimeSpan.FromSeconds(20)); cmdlet.EndTime = DateTime.Now.Subtract(TimeSpan.FromSeconds(21)); nextLink = null; Assert.Throws <ArgumentException>(() => cmdlet.ExecuteCmdlet()); }
public static void VerifyDetailedOutput(LogsCmdletBase cmdlet) { // Calling with detailed output cmdlet.DetailedOutput = true; cmdlet.ExecuteCmdlet(); }
public static void VerifyContinuationToken(AzureOperationResponse <IPage <EventData> > response, Mock <IActivityLogsOperations> insinsightsEventOperationsMockightsClientMock, LogsCmdletBase cmdlet) { // Make sure calls to Next work also string nextToken = ContinuationToken; insinsightsEventOperationsMockightsClientMock.Setup(f => f.ListNextWithHttpMessagesAsync(It.IsAny <string>(), It.IsAny <Dictionary <string, List <string> > >(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult <AzureOperationResponse <IPage <EventData> > >(response)) .Callback((string n, Dictionary <string, List <string> > h, CancellationToken t) => nextToken = n); // Calling without optional parameters cmdlet.ExecuteCmdlet(); Assert.Equal(Utilities.ContinuationToken, nextToken, ignoreCase: true, ignoreLineEndingDifferences: true, ignoreWhiteSpaceDifferences: true); }
public static void ExecuteVerifications(LogsCmdletBase cmdlet, Mock <IActivityLogsOperations> insinsightsEventOperationsMockightsClientMock, string requiredFieldName, string requiredFieldValue, ref ODataQuery <EventData> filter, ref string selected, DateTime startDate, ref string nextLink) { // Calling without optional parameters cmdlet.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: null); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); Assert.True(string.Equals(PSEventDataNoDetails.SelectedFieldsForQuery, selected, StringComparison.OrdinalIgnoreCase), "Incorrect nameOrTargetUri clause without optional parameters"); VerifyContinuationToken(nextLink: nextLink); // Calling with only start date cmdlet.StartTime = startDate; nextLink = null; cmdlet.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: startDate); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); VerifyContinuationToken(nextLink: nextLink); // Calling with only start and end date cmdlet.EndTime = startDate.AddSeconds(2); nextLink = null; cmdlet.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: startDate); VerifyEndDateInFilter(filter: filter, endDate: startDate.AddSeconds(2)); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); VerifyContinuationToken(nextLink: nextLink); // Calling with only caller cmdlet.EndTime = null; cmdlet.Caller = Utilities.Caller; nextLink = null; cmdlet.ExecuteCmdlet(); VerifyCallerInCall(filter: filter, startDate: startDate, filedName: requiredFieldName, fieldValue: requiredFieldValue); VerifyContinuationToken(nextLink: nextLink); // Calling with caller and status cmdlet.Status = Utilities.Status; nextLink = null; cmdlet.ExecuteCmdlet(); VerifyStatusAndCallerInCall(filter: filter, startDate: startDate, filedName: requiredFieldName, fieldValue: requiredFieldValue); VerifyDetailedOutput(cmdlet: cmdlet, selected: ref selected); VerifyContinuationToken(nextLink: nextLink); // Calling with maxEvents (Note: # of returned objects is not testable here, only the call is being tested) var cmdLetLogs = cmdlet as GetAzureRmLogCommand; if (cmdLetLogs != null) { cmdLetLogs.Caller = null; cmdLetLogs.Status = null; nextLink = null; cmdLetLogs.MaxEvents = 3; cmdLetLogs.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: null); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); // Negative value nextLink = null; cmdLetLogs.MaxEvents = -1; cmdLetLogs.ExecuteCmdlet(); VerifyFilterIsUsable(filter: filter); VerifyStartDateInFilter(filter: filter, startDate: null); VerifyConditionInFilter(filter: filter, field: requiredFieldName, value: requiredFieldValue); // The default should have been used, check continuation token VerifyContinuationToken(nextLink: nextLink); cmdLetLogs.MaxEvents = 0; } // Execute negative tests cmdlet.Caller = null; cmdlet.Status = null; cmdlet.StartTime = DateTime.Now.AddSeconds(1); nextLink = null; Assert.Throws <ArgumentException>(() => cmdlet.ExecuteCmdlet()); cmdlet.StartTime = DateTime.Now.Subtract(TimeSpan.FromSeconds(20)); cmdlet.EndTime = DateTime.Now.Subtract(TimeSpan.FromSeconds(21)); nextLink = null; Assert.Throws <ArgumentException>(() => cmdlet.ExecuteCmdlet()); }