Skip to content

Commit 0f37cfb

Browse files
committed
Test one changeset row
1 parent 9a6786b commit 0f37cfb

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

sqlite3_session_test.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,25 +100,25 @@ func Test_Changeset_OneRow(t *testing.T) {
100100
}
101101
defer func() {
102102
if err := session.DeleteSession(); err != nil {
103-
t.Errorf("Failed to delete session: %v", err)
103+
t.Fatalf("Failed to delete session: %v", err)
104104
}
105105
}()
106106

107+
// Attach to the table, insert a row, and capture the iunserted row in a changeset.
107108
err = session.AttachSession("test_table")
108109
if err != nil {
109110
t.Fatalf("Failed to attach session to table: %v", err)
110111
}
111-
112-
_, err = conn.ExecContext(ctx, `INSERT INTO test_table (value) VALUES ('test')`)
112+
_, err = conn.ExecContext(ctx, `INSERT INTO test_table (value) VALUES ('fiona')`)
113113
if err != nil {
114114
t.Fatalf("Failed to insert row: %v", err)
115115
}
116-
117116
changeset, err := NewChangeset(session)
118117
if err != nil {
119118
t.Fatalf("Failed to generate changeset: %v", err)
120119
}
121120

121+
// Prepare to iterate over the changeset.
122122
iter, err := NewChangesetIterator(changeset)
123123
if err != nil {
124124
t.Fatalf("Failed to create changeset iterator: %v", err)
@@ -129,6 +129,7 @@ func Test_Changeset_OneRow(t *testing.T) {
129129
t.Fatalf("changeset does not contain changes: %v", b)
130130
}
131131

132+
// Check table, number of columns changed, the the operation type.
132133
tblName, nCol, op, indirect, err := iter.Op()
133134
if err != nil {
134135
t.Fatalf("Failed to get changeset operation: %v", err)
@@ -146,21 +147,23 @@ func Test_Changeset_OneRow(t *testing.T) {
146147
t.Fatalf("Expected indirect false, got true")
147148
}
148149

150+
// Now, get the new data.
149151
dest := make([]any, nCol)
150152
if err := iter.New(dest); err != nil {
151153
t.Fatalf("Failed to get new row: %v", err)
152154
}
153155
if v, ok := dest[0].(int64); !ok {
154156
t.Fatalf("Expected int64, got %T", dest[0])
155-
} else if v != 1 {
156-
t.Fatalf("Expected 1, got %d", v)
157+
} else if exp, got := v, int64(1); exp != got {
158+
t.Fatalf("Expected %d, got %d", exp, got)
157159
}
158160
if v, ok := dest[1].(string); !ok {
159161
t.Fatalf("Expected string, got %T", dest[1])
160-
} else if v != "test" {
161-
t.Fatalf("Expected test, got %s", v)
162+
} else if exp, got := v, "fiona"; exp != got {
163+
t.Fatalf("Expected %s, %s", exp, got)
162164
}
163165

166+
// We only inserted one row, so there should be no more changes.
164167
if b, err := iter.Next(); err != nil {
165168
t.Fatalf("Failed to get next changeset: %v", err)
166169
} else if b {

0 commit comments

Comments
 (0)