/* Class methods */ public CrawlerPlugin(Website website, IDatabaseAccessor db, int crawlID, Log l) { this.db = db; this.website = website; this.crawlID = crawlID; this.log = l; }
public AdoNetPasswordService(ILogger <AdoNetPasswordService> log, IDatabaseAccessor db, IImagePersister par_ImagePersister, IOptionsMonitor <PasswordsOptions> OpzioniPassword) { this.par_ImagePersister = par_ImagePersister; this.OpzioniPassword = OpzioniPassword; this.log = log; this.db = db; }
public void SaveDatabaseObject_ObjectInPopulated_ObjectIsSavedToDatabase() { const string json = @"{'someOtherObject': true}"; IDatabaseAccessor mockDatabaseAccessor = CreateMockDatabaseAccessor(json); var sut = CreateDatabaseManager(mockDatabaseAccessor); var testDatabaseObject = new TestDatabaseObject { IntProperty = 5, StringProperty = "String", List = new[] { true, false, true } }; sut.SaveDatabaseObject("databaseObject", testDatabaseObject); Mock.Get(mockDatabaseAccessor).Verify(da => da.WriteToDatabase(It.IsAny <string>()), Times.Once()); var savedJsonTree = JObject.Parse(_jsonWrittenToDatabase); savedJsonTree["someOtherObject"].ToObject <bool>().ShouldBe(true); var savedTestDatabaseObject = JsonConvert.DeserializeObject <TestDatabaseObject>(savedJsonTree["databaseObject"].ToString()); savedTestDatabaseObject.StringProperty.ShouldBe(testDatabaseObject.StringProperty); savedTestDatabaseObject.IntProperty.ShouldBe(testDatabaseObject.IntProperty); savedTestDatabaseObject.List.ShouldMatch(testDatabaseObject.List.ToArray()); }
protected JoinItem(IDatabaseAccessor accessor, string table, string alias, int flag, Clause clause, params string[] columns) : base(accessor, table, alias, clause, columns) { if (!FLAGS.Any(f => f.Equals(flag))) { throw new ApplicationException(string.Format("JoinItem(flag:{0}) is illegal!(0:INNER,1:LEFT,2:RIGHT)", flag)); } }
public void SaveThenLoadDatabaseObject_ObjectIsSavedAndLoadedCorrectly() { const string json = @"{'someOtherObject': true}"; IDatabaseAccessor mockDatabaseAccessor = CreateMockDatabaseAccessor(json); var sut = CreateDatabaseManager(mockDatabaseAccessor); var testDatabaseObject = new TestDatabaseObject { IntProperty = 5, StringProperty = "String", List = new[] { true, false, true } }; sut.SaveDatabaseObject("databaseObject", testDatabaseObject); var sut2 = CreateDatabaseManager(CreateMockDatabaseAccessor(_jsonWrittenToDatabase)); var savedAndLoadedTestDatabaseObject = sut2.GetDatabaseObject <TestDatabaseObject>("databaseObject"); savedAndLoadedTestDatabaseObject.StringProperty.ShouldBe(testDatabaseObject.StringProperty); savedAndLoadedTestDatabaseObject.IntProperty.ShouldBe(testDatabaseObject.IntProperty); savedAndLoadedTestDatabaseObject.List.ShouldMatch(testDatabaseObject.List.ToArray()); }
public AdoNetCouseService(ILogger <AdoNetCouseService> logger, IDatabaseAccessor db, IMapper mapper, IOptionsMonitor <CoursesOptions> coursesOptions) { this.db = db; this.mapper = mapper; this.coursesOptions = coursesOptions; this.logger = logger; }
public CalendarService(ICalendarInterface calendarInterface, string filePath = "Constants\\CalendarEntries.json") { _context = new DatabaseAccessor(filePath); _entries = _context.FetchEntries(); _interface = calendarInterface; }
public AdoNetCourseService(ILogger <AdoNetCourseService> logger, IDatabaseAccessor db, IImagePersister imagePersister, IOptionsMonitor <CoursesOptions> coursesOptions) { this.imagePersister = imagePersister; this.coursesOptions = coursesOptions; this.logger = logger; this.db = db; }
public void GetItemDefinition_Izanagi_ShouldReturnItemDefinitionWithCorrectValues() { IConfiguration config = Mock.Of <IConfiguration>(m => m["Emissary:ManifestPath"] == "data/dummy.manifest"); uint izanagiHash = 3211806999; string jsonResponse = TestUtils.ReadFile("item-izanagi.json"); IDatabaseAccessor databaseAccessor = Mock.Of <IDatabaseAccessor>(); Mock.Get(databaseAccessor) .Setup(m => m.ExecuteCommand( It.Is <string>(s => s.Contains(((int)izanagiHash).ToString())), It.IsRegex(@".*\.manifest$"))) .Returns(jsonResponse); ManifestItemDefinition expected = new ManifestItemDefinition("Izanagi's Burden", "Exotic", new List <uint>() { 2, 1, 10 }); ManifestDao manifestDao = new ManifestDao(config, databaseAccessor); ManifestItemDefinition actual = manifestDao.GetItemDefinition(izanagiHash); Assert.AreEqual(expected.DisplayName, actual.DisplayName); Assert.AreEqual(expected.TierTypeName, actual.TierTypeName); Assert.IsTrue(expected.ItemCategoryHashes.SequenceEqual(actual.ItemCategoryHashes)); }
public static void ExecuteNonQuery(this IDatabaseAccessor instance, string commandText, dynamic parameterValues) { using (SqlConnection connection = instance.CreateConnection()) { string outputValue = null; connection.Open(); SqlCommand command = instance.CreateCommand(connection, commandText, CommandType.StoredProcedure); IEnumerable <PropertyInfo> properties = ((Type)parameterValues.GetType()).GetProperties().Where(property => property.CanRead); properties.ForEach(property => { object value = property.GetValue(parameterValues, null); SqlDbType?valType = null; ParameterDirection direction = ParameterDirection.Input; string parameterName = property.Name; if (parameterName.StartsWith("_")) { direction = ParameterDirection.InputOutput; parameterName = parameterName.Substring(1); outputValue = parameterName; } if (!parameterName.Equals("IncludeDeleted", StringComparison.OrdinalIgnoreCase)) { command.SetParameter(parameterName, value, direction, valType); } else { command.SetIncludeDeletedParameter((bool)value); } }); var reader = command.ExecuteNonQuery(); } }
public HttpHeaderPlugin(Website website, IDatabaseAccessor db, int crawlID, Log l) : base(website, db, crawlID, l) { this.website = website; this.db = db; this.crawlID = crawlID; this.logger = l; }
public UpdateItem(IDatabaseAccessor accessor, T entity = null) : base( accessor, (entity != null ? entity : (typeof(T).Assembly.CreateInstance(typeof(T).FullName) as TableEntity)).Schema.Name, null, (entity != null ? entity : (typeof(T).Assembly.CreateInstance(typeof(T).FullName) as TableEntity)).Schema.ColumnNames ) { }
public DBContext(IDatabaseAccessor accessor) { if (accessor == null) { throw new ArgumentNullException("accessor"); } Accessor = accessor; }
internal WorkFlowContext(IDatabaseAccessor accessor) : base() { if (accessor == null) { throw new ArgumentNullException("accessor", "Argument(accessor) is null!"); } this.accessor = accessor; }
public FromItem(IDatabaseAccessor accessor, T entity = null, string alias = null) : base( accessor, (entity != null ? entity : (Activator.CreateInstance(typeof(T)) as TableEntity)).Schema.Name, alias, (entity != null ? entity : (Activator.CreateInstance(typeof(T)) as TableEntity)).Schema.ColumnNames ) { }
public void SaveDatabaseObject_ObjectIsNull_ObjectIsRemovedFromJson() { const string json = @"{'databaseObject': true}"; IDatabaseAccessor mockDatabaseAccessor = CreateMockDatabaseAccessor(json); var sut = CreateDatabaseManager(mockDatabaseAccessor); sut.SaveDatabaseObject("databaseObject", null); Mock.Get(mockDatabaseAccessor).Verify(da => da.WriteToDatabase(@"{}"), Times.Once()); }
protected SelectItem(IDatabaseAccessor accessor, TableItem[] tables, bool distinct, Clause clause) : base(accessor, clause) { if (tables == null || tables.Count(t => t != null) <= 0) { throw new ArgumentNullException("table"); } _tables = new List <TableItem>(tables); Distinct = distinct; }
protected Model(IDatabaseAccessor accessor, Guid?wid) { if (accessor == null) { throw new ArgumentNullException("accessor"); } Accessor = accessor; WorkFlowId = wid; }
public AdoNetCourseService(ILogger <AdoNetCourseService> logger, IDatabaseAccessor db, IImagePersister imagePersister, IHttpContextAccessor httpContextAccessor, IEmailClient emailClient, IOptionsMonitor <CoursesOptions> coursesOptions) { this.imagePersister = imagePersister; this.coursesOptions = coursesOptions; this.logger = logger; this.emailClient = emailClient; this.httpContextAccessor = httpContextAccessor; this.db = db; }
protected TableItem(IDatabaseAccessor accessor, string table, string alias, Clause clause, params string[] columns) : base(accessor, clause) { CheckTableName(table); _table = table; CheckColumnNames(columns); _columns = new List <string>(columns.Select(c => c.ToUpper()).Distinct()); Alias = alias; }
public SSLConfirmationPlugin(Website website, IDatabaseAccessor db, int crawlID, Log l) : base(website, db, crawlID, l) { result = new List<String>(); logger = l; web = website; this.crawlID = crawlID; /* Ensure we're not doing the effective date stuff wrong */ }
public Bot(Website website, Log l, IDatabaseAccessor dba, IWebInteractor wi, IFileSystemInteractor fsi) { _baseurl = website.url; _website = website; _log = l; _dba = dba; _webinteractor = wi; _fsinteractor = fsi; ResultsList = new List<CrawlResult>(); }
public void Delete(IDatabaseAccessor accessor) { if (accessor == null) { throw new ArgumentNullException("accessor"); } var collection = new SQLScriptCollection(accessor); this.Schema.FillDeleteScriptCollection(collection); accessor.ExecuteSQLCommand(collection.ExportCommands()); }
public SQLContainer(IDatabaseAccessor accessor, Counter pcounter = null, Counter tcounter = null) { if (accessor == null) { throw new ArgumentNullException("accessor"); } this.accessor = accessor; _tCounter = tcounter == null ? new Counter() : tcounter; _pCounter = pcounter == null ? new Counter() : pcounter; SQLParamCreater = new SQLParamCreater(_pCounter); }
public void Delete(IDatabaseAccessor accessor) { ThrowNotReadyException(); if (accessor == null) { throw new ArgumentNullException("accessor"); } var collection = new SQLScriptCollection(accessor); Delete(collection); accessor.ExecuteSQLCommand(collection.ExportCommands()); }
public void Save(IDatabaseAccessor accessor, bool fresh = false) { if (accessor == null) { throw new ArgumentNullException("accessor"); } var collection = new SQLScriptCollection(accessor); this.Schema.FillSaveScriptCollection(collection); accessor.ExecuteSQLCommand(collection.ExportCommands()); if (fresh) { this.Fresh(accessor); } }
public void LookupItem_DatabaseNotFound_ShouldThrowDataAccessException() { IConfiguration config = Mock.Of <IConfiguration>(m => m["Emissary:ManifestPath"] == "data/dummy.manifest"); uint izanagiHash = 3211806999; IDatabaseAccessor databaseAccessor = Mock.Of <IDatabaseAccessor>(); Mock.Get(databaseAccessor) .Setup(m => m.ExecuteCommand( It.Is <string>(s => s.Contains(((int)izanagiHash).ToString())), It.IsRegex(@".*\.manifest$"))) .Throws(new DataAccessException("database file not found")); ManifestDao manifestDao = new ManifestDao(config, databaseAccessor); DataAccessException exception = Assert.ThrowsException <DataAccessException>(() => manifestDao.GetItemDefinition(izanagiHash)); Assert.IsTrue(exception.Message.Contains("database file not found")); }
public void GetItemDefinition_ItemNotFound_ShouldReturnNull() { IConfiguration config = Mock.Of <IConfiguration>(m => m["Emissary:ManifestPath"] == "data/dummy.manifest"); uint nonexistentItemHash = 0; IDatabaseAccessor databaseAccessor = Mock.Of <IDatabaseAccessor>(); Mock.Get(databaseAccessor) .Setup(m => m.ExecuteCommand( It.Is <string>(s => s.Contains(((int)nonexistentItemHash).ToString())), It.IsRegex(@".*\.manifest$"))) .Returns(""); ManifestDao manifestDao = new ManifestDao(config, databaseAccessor); ManifestItemDefinition actual = manifestDao.GetItemDefinition(nonexistentItemHash); Assert.IsNull(actual); }
public void LookupItemCategory_KineticWeapon_ShouldReturnItemDefinitionWithCorrectValues() { IConfiguration config = Mock.Of <IConfiguration>(m => m["Emissary:ManifestPath"] == "data/dummy.manifest"); uint kineticWeaponCategoryHash = 2; string jsonResponse = TestUtils.ReadFile("category-kinetic-weapon.json"); IDatabaseAccessor databaseAccessor = Mock.Of <IDatabaseAccessor>(); Mock.Get(databaseAccessor) .Setup(m => m.ExecuteCommand( It.Is <string>(s => s.Contains(((int)kineticWeaponCategoryHash).ToString())), It.IsRegex(@".*\.manifest$"))) .Returns(jsonResponse); ManifestItemCategoryDefinition expected = new ManifestItemCategoryDefinition("Kinetic Weapon"); ManifestDao manifestDao = new ManifestDao(config, databaseAccessor); ManifestItemCategoryDefinition actual = manifestDao.GetItemCategoryDefinition(kineticWeaponCategoryHash); Assert.AreEqual(expected.CategoryName, actual.CategoryName); }
public void Fresh(IDatabaseAccessor accessor) { if (accessor == null) { throw new ArgumentNullException("accessor"); } var dbset = RetrieveDataSet(accessor); var table = dbset.Tables.Cast <DataTable>().FirstOrDefault(t => t.TableName.Equals(0.ToString())); if (table == null) { throw new ApplicationException(string.Format("Missing table({0})!", Schema.Name)); } if (table.Rows.Count <= 0) { throw new ApplicationException(string.Format("No data in table({0})!", Schema.Name)); } Fill(table.Rows[0], dbset, 0, 0); }
private DataSet RetrieveDataSet(IDatabaseAccessor accessor) { var collection = new SQLScriptCollection(accessor); Schema.FillFreshScriptCollection(collection); var dbset = accessor.RetrieveDataSet(collection.ExportCommand()); if (dbset.Tables.Count > 0) { for (var i = 0; i < dbset.Tables.Count; i++) { if (string.IsNullOrWhiteSpace(collection.Scripts[i].ID)) { continue; } dbset.Tables[i].TableName = collection.Scripts[i].ID.ToString(); } } return(dbset); }
public AdoNetCourseService( ILogger <AdoNetCourseService> logger, IDatabaseAccessor db, IImagePersister imagePersister, IHttpContextAccessor httpContextAccessor, IEmailClient emailClient, IOptionsMonitor <CoursesOptions> coursesOptions, IPaymentGateway paymentGateway, LinkGenerator linkGenerator, ITransactionLogger transactionLogger) { this.imagePersister = imagePersister; this.coursesOptions = coursesOptions; this.logger = logger; this.emailClient = emailClient; this.httpContextAccessor = httpContextAccessor; this.db = db; this.paymentGateway = paymentGateway; this.linkGenerator = linkGenerator; this.transactionLogger = transactionLogger; }
public Clause(IDatabaseAccessor accessor, string text, params KeyValuePair <string, object>[] parameters) { if (accessor == null) { throw new ArgumentNullException("accessor"); } if (string.IsNullOrWhiteSpace(text)) { throw new ArgumentNullException("text"); } this.accessor = accessor; this.text = text.Trim(); this.parameters = new List <KeyValuePair <string, object> >(); if (parameters != null) { parameters.ToList().ForEach(p => { AddParam(p.Key, p.Value); }); } }
public DbParameter[] ExportParameters(IDatabaseAccessor accessor) { if (accessor == null) { throw new ArgumentNullException("accessor"); } var list = new List <DbParameter>(); foreach (var item in _list) { var parameters = item.Parameters; if (parameters == null || parameters.Length <= 0) { continue; } parameters.ToList().ForEach(p => { list.Add(accessor.CreateParameter(p.Key, p.Value)); }); } return(list.ToArray()); }
public WebsiteParser(Website website, IDatabaseAccessor db, int crawlID, Log l, FileSystemInteractor fs) : base(website, db, crawlID, l) { fsInteractor = fs; }
private IDatabaseManager CreateDatabaseManager(IDatabaseAccessor databaseAccessor) { return new DatabaseManager(databaseAccessor); }
public DatabaseStarter(IDatabaseAccessor databaseAccessor) { _databaseAccessor = databaseAccessor; }
public UnitAdjuster(IDatabaseAccessor databaseAccessor) { this.databaseAccessor = databaseAccessor; }
public HTMLParsingModule(Website w, IDatabaseAccessor db, int id, Log log) : base(w, db, id, log) { searchStringList = new List<String>(); descriptionList = new List<String>(); }
public void SetUp() { mockedDatabaseAccessor = Mock.Create<IDatabaseAccessor>(); }