MCPcopy Create free account
hub / github.com/activecm/rita / TestMetaDatabase

Function TestMetaDatabase

integration/metadb_test.go:299–335  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

297}
298
299func TestMetaDatabase(t *testing.T) {
300 // set up file system interface
301 afs := afero.NewOsFs()
302
303 // load config
304 cfg, err := config.ReadFileConfig(afs, ConfigPath)
305 require.NoError(t, err)
306
307 cfg.Env.DBConnection = dockerInfo.clickhouseConnection
308
309 // import a dataset
310 dbName := "test_metadb"
311 results, err := cmd.RunImportCmd(time.Now(), cfg, afs, TestDataPath+"/valid_tsv", dbName+"_tsv", false, true)
312 require.NoError(t, err, "import should succeed")
313 importID := results.ImportID[0]
314
315 // import a few other datasets for testing multiple metadb entries
316 _, err = cmd.RunImportCmd(time.Now(), cfg, afs, TestDataPath+"/valid_json", dbName+"_json", false, true)
317 require.NoError(t, err, "import should succeed")
318 _, err = cmd.RunImportCmd(time.Now(), cfg, afs, TestDataPath+"/open_conns/open", dbName+"_open", false, true)
319 require.NoError(t, err, "import should succeed")
320
321 // connect to metadatabase
322 db, err := database.ConnectToDB(context.Background(), "metadatabase", cfg, nil)
323 require.NoError(t, err)
324
325 // test metadatabase tables
326 t.Run("Imports Table", func(t *testing.T) {
327 validateMetaDBImportsTable(t, db, dbName+"_tsv", importID)
328 })
329 t.Run("Files Table", func(t *testing.T) {
330 validateMetaDBFilesTable(t, db, TestDataPath+"/valid_tsv", dbName+"_tsv", importID)
331 })
332 validateMetaDBHistoricalFirstSeenTable(t)
333 validateMetaDBValidMimeTypesTable(t)
334
335}
336func validateMetaDBImportsTable(t *testing.T, db *database.DB, dbName string, importID util.FixedString) {
337 t.Helper()
338

Callers

nothing calls this directly

Calls 7

ReadFileConfigFunction · 0.92
RunImportCmdFunction · 0.92
ConnectToDBFunction · 0.92
validateMetaDBFilesTableFunction · 0.85

Tested by

no test coverage detected