MCPcopy Create free account
hub / github.com/cinar/indicator / TestSQLRepository

Function TestSQLRepository

asset/sql_repository_test.go:67–105  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

65}
66
67func TestSQLRepository(t *testing.T) {
68 dialect := &mockDialect{}
69 repo, err := asset.NewSQLRepository("mockrepo", "db", dialect)
70 if err != nil {
71 t.Fatal(err)
72 }
73 defer repo.Close()
74
75 assets, err := repo.Assets()
76 if err != nil {
77 t.Fatal(err)
78 }
79 if len(assets) != 1 || assets[0] != "TEST" {
80 t.Fatalf("expected [TEST], got %v", assets)
81 }
82
83 _, err = repo.Get("TEST")
84 if err != nil {
85 t.Fatal(err)
86 }
87
88 _, err = repo.LastDate("TEST")
89 if err == nil {
90 // Our mockRepoStmt.QueryRow doesn't return anything, so Scan will fail.
91 // That's fine for coverage as long as we reach the line.
92 }
93
94 snapshots := make(chan *asset.Snapshot)
95 close(snapshots)
96 err = repo.Append("TEST", snapshots)
97 if err != nil {
98 t.Fatal(err)
99 }
100
101 err = repo.Drop()
102 if err != nil {
103 t.Fatal(err)
104 }
105}

Callers

nothing calls this directly

Calls 7

CloseMethod · 0.95
AssetsMethod · 0.95
GetMethod · 0.95
LastDateMethod · 0.95
AppendMethod · 0.95
DropMethod · 0.95
NewSQLRepositoryFunction · 0.92

Tested by

no test coverage detected