public static PersistentEvent GenerateEvent(string[] organizationIds = null, string[] projectIds = null, string[] stackIds = null, DateTimeOffset?startDate = null, DateTimeOffset?endDate = null, DateTimeOffset?occurrenceDate = null, int maxErrorNestingLevel = 0, bool generateTags = true, bool generateData = true, bool isFixed = false, bool isHidden = false, string[] referenceIds = null) { if (!startDate.HasValue || startDate > DateTimeOffset.Now.AddHours(1)) { startDate = DateTimeOffset.Now.AddDays(-30); } if (!endDate.HasValue || endDate > DateTimeOffset.Now.AddHours(1)) { endDate = DateTimeOffset.Now; } var ev = new PersistentEvent { OrganizationId = organizationIds.Random(TestConstants.OrganizationId), ProjectId = projectIds.Random(TestConstants.ProjectId), ReferenceId = referenceIds.Random(), Date = occurrenceDate.HasValue ? occurrenceDate.Value : RandomData.GetDateTimeOffset(startDate, endDate), IsFixed = isFixed, IsHidden = isHidden, StackId = stackIds.Random() }; if (generateData) { for (int i = 0; i < RandomData.GetInt(1, 5); i++) { string key = RandomData.GetWord(); while (ev.Data.ContainsKey(key) || key == Event.KnownDataKeys.Error) { key = RandomData.GetWord(); } ev.Data.Add(key, RandomData.GetWord()); } } if (generateTags) { for (int i = 0; i < RandomData.GetInt(1, 3); i++) { string tag = TestConstants.EventTags.Random(); if (!ev.Tags.Contains(tag)) { ev.Tags.Add(tag); } } } ev.Type = Event.KnownTypes.Error; // limit error variation so that stacking will occur if (_randomErrors == null) { _randomErrors = new List <Error>(Enumerable.Range(1, 25).Select(i => GenerateError(maxErrorNestingLevel))); } ev.Data[Event.KnownDataKeys.Error] = _randomErrors.Random(); return(ev); }
public static EmployeeWithDate Generate(string id = null, string name = null, int?age = null, string companyName = null, string companyId = null, DateTimeOffset?startDate = null, DateTime?createdUtc = null, DateTime?updatedUtc = null) { return(new EmployeeWithDate { Id = id, Name = name ?? RandomData.GetAlphaString(), Age = age ?? RandomData.GetInt(18, 100), CompanyName = companyName ?? RandomData.GetAlphaString(), CompanyId = companyId ?? ObjectId.GenerateNewId().ToString(), StartDate = startDate ?? RandomData.GetDateTimeOffset(DateTimeOffset.Now.StartOfMonth(), DateTimeOffset.Now), CreatedUtc = createdUtc.GetValueOrDefault(), UpdatedUtc = updatedUtc.GetValueOrDefault() }); }
public static Employee GenerateRandom(string id = null, string name = null, int?age = null, int?yearsEmployed = null, string companyName = null, string companyId = null, string location = null, DateTime?lastReview = null, DateTimeOffset?nextReview = null, DateTime?createdUtc = null, DateTime?updatedUtc = null) { var employee = new Employee { Id = id, Name = name ?? RandomData.GetAlphaString(), Age = age ?? RandomData.GetInt(18, 100), YearsEmployed = yearsEmployed ?? RandomData.GetInt(0, 40), CompanyName = companyName ?? RandomData.GetAlphaString(), CompanyId = companyId ?? ObjectId.GenerateNewId().ToString(), LastReview = lastReview ?? RandomData.GetDateTime(DateTime.Now.SubtractDays(365), DateTime.Now), CreatedUtc = createdUtc ?? RandomData.GetDateTime(DateTime.Now.SubtractDays(365), DateTime.Now), Location = location ?? RandomData.GetCoordinate() }; employee.NextReview = nextReview ?? RandomData.GetDateTimeOffset(employee.NextReview, DateTime.Now); employee.UpdatedUtc = updatedUtc ?? RandomData.GetDateTime(employee.CreatedUtc, DateTime.Now); return(employee); }
public static PersistentEvent GenerateEvent(string[] organizationIds = null, string[] projectIds = null, string[] stackIds = null, DateTimeOffset?startDate = null, DateTimeOffset?endDate = null, DateTimeOffset?occurrenceDate = null, int maxErrorNestingLevel = 0, bool generateTags = true, bool generateData = true, bool isFixed = false, bool isHidden = false, string[] referenceIds = null, string type = null, string sessionId = null, string userIdentity = null, decimal?value = -1, string semver = null) { if (!startDate.HasValue || startDate > SystemClock.OffsetNow.AddHours(1)) { startDate = SystemClock.OffsetNow.AddDays(-30); } if (!endDate.HasValue || endDate > SystemClock.OffsetNow.AddHours(1)) { endDate = SystemClock.OffsetNow; } var ev = new PersistentEvent { OrganizationId = organizationIds.Random(TestConstants.OrganizationId), ProjectId = projectIds.Random(TestConstants.ProjectId), ReferenceId = referenceIds.Random(), Date = occurrenceDate ?? RandomData.GetDateTimeOffset(startDate, endDate), Value = value.GetValueOrDefault() >= 0 ? value : RandomData.GetDecimal(0, Int32.MaxValue), IsFixed = isFixed, IsHidden = isHidden, StackId = stackIds.Random() }; if (!String.IsNullOrEmpty(userIdentity)) { ev.SetUserIdentity(userIdentity); } if (generateData) { for (int i = 0; i < RandomData.GetInt(1, 5); i++) { string key = RandomData.GetWord(); while (ev.Data.ContainsKey(key) || key == Event.KnownDataKeys.Error) { key = RandomData.GetWord(); } ev.Data.Add(key, RandomData.GetWord()); } } if (generateTags) { for (int i = 0; i < RandomData.GetInt(1, 3); i++) { string tag = TestConstants.EventTags.Random(); if (!ev.Tags.Contains(tag)) { ev.Tags.Add(tag); } } } if (String.IsNullOrEmpty(type) || String.Equals(type, Event.KnownTypes.Error, StringComparison.OrdinalIgnoreCase)) { ev.Type = Event.KnownTypes.Error; // limit error variation so that stacking will occur if (_randomErrors == null) { _randomErrors = new List <Error>(Enumerable.Range(1, 25).Select(i => GenerateError(maxErrorNestingLevel))); } ev.Data[Event.KnownDataKeys.Error] = _randomErrors.Random(); } else { ev.Type = type.ToLower(); } if (!String.IsNullOrEmpty(sessionId)) { ev.SetSessionId(sessionId); } if (ev.IsSessionStart()) { ev.Value = null; } ev.SetVersion(semver); return(ev); }