public async Task CreateWithSqlInjectionTest() { var connectionFactory = new DefaultConnectionFactory(); var seasonDao = new GenericDao <Entities.Season>(connectionFactory); var expectedDomainObject = new Entities.Season() { Name = "'DELETE FROM [Hurace].[Sex];--", StartDate = DateTime.Now.AddDays(-365).Date, EndDate = DateTime.Now.Date }; var actualDomainObjectId = await seasonDao.CreateAsync(expectedDomainObject) .ConfigureAwait(false); var actualDomainObject = await seasonDao.GetByIdAsync(actualDomainObjectId) .ConfigureAwait(false); Assert.Equal(expectedDomainObject.Name, actualDomainObject.Name); Assert.Equal(expectedDomainObject.StartDate, actualDomainObject.StartDate); Assert.Equal(expectedDomainObject.EndDate, actualDomainObject.EndDate); var sexDao = new GenericDao <Entities.Sex>(connectionFactory); Assert.Equal(2, (await sexDao.GetAllConditionalAsync().ConfigureAwait(false)).Count()); }
private static Entities.EntityObjectBase GenerateTestableCompareObject(Type currentDomainType) { Entities.EntityObjectBase testObject; switch (currentDomainType.Name) { case nameof(Entities.Country): testObject = new Entities.Country() { Id = 5, Name = "SUI" }; return(testObject); case nameof(Entities.Race): testObject = new Entities.Race() { Id = 13, RaceTypeId = 0, FirstStartListId = 13, SecondStartListId = 87, NumberOfSensors = 5, Description = "The ancient origins of skiing can be traced back to prehistoric " + "times in Russia, Finland, Sweden and Norway where varying sizes and shapes" + " of wooden planks were preserved in peat bogs. Skis were first invented to" + " cross wetlands and marshes in the winter when they froze over.", VenueId = 4, Date = new DateTime(2019, 12, 03), GenderSpecificRaceId = 1 }; return(testObject); case nameof(Entities.RaceData): testObject = new Entities.RaceData() { Id = 311, StartListId = 6, SkierId = 452, RaceStateId = 0 }; return(testObject); case nameof(Entities.RaceState): testObject = new Entities.RaceState() { Id = 2, Label = "NichtAbgeschlossen" }; return(testObject); case nameof(Entities.RaceType): testObject = new Entities.RaceType() { Id = 0, Label = "Riesentorlauf" }; return(testObject); case nameof(Entities.Season): testObject = new Entities.Season() { Id = 1, Name = "Jährliche Saison 2020", StartDate = new DateTime(2020, 1, 1), EndDate = new DateTime(2020, 12, 31) }; return(testObject); case nameof(Entities.SeasonPlan): testObject = new Entities.SeasonPlan() { Id = 53, VenueId = 22, SeasonId = 1 }; return(testObject); case nameof(Entities.Sex): testObject = new Entities.Sex() { Id = 0, Label = "Weiblich" }; return(testObject); case nameof(Entities.Skier): testObject = new Entities.Skier() { Id = 120, FirstName = "Marcel", LastName = "Hirscher", DateOfBirth = new DateTime(1989, 3, 2), CountryId = 3, SexId = 1, ImageUrl = "https://data.fis-ski.com/general/load-competitor-picture/106332.html", IsRemoved = false }; return(testObject); case nameof(Entities.StartList): testObject = new Entities.StartList() { Id = 41 }; return(testObject); case nameof(Entities.StartPosition): testObject = new Entities.StartPosition() { Id = 53, SkierId = 150, StartListId = 1, Position = 2 }; return(testObject); case nameof(Entities.TimeMeasurement): testObject = new Entities.TimeMeasurement() { Id = 226, SensorId = 4, Measurement = 24074, RaceDataId = 37, IsValid = true }; return(testObject); case nameof(Entities.Venue): testObject = new Entities.Venue() { Id = 20, Name = "Kitzbuehel", CountryId = 3 }; return(testObject); default: throw new ArgumentException($"DomainType {nameof(currentDomainType)} is not recognized"); } }