MCPcopy Index your code
hub / github.com/git-bug/git-bug / TestCachePushPull

Function TestCachePushPull

cache/repo_cache_test.go:185–238  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

183}
184
185func TestCachePushPull(t *testing.T) {
186 repoA, repoB, _ := repository.SetupGoGitReposAndRemote(t)
187
188 cacheA := createTestRepoCacheNoEvents(t, repoA)
189 cacheB := createTestRepoCacheNoEvents(t, repoB)
190
191 // Create, set and get user identity
192 reneA, err := cacheA.Identities().New("René Descartes", "rene@descartes.fr")
193 require.NoError(t, err)
194 err = cacheA.SetUserIdentity(reneA)
195 require.NoError(t, err)
196 isaacB, err := cacheB.Identities().New("Isaac Newton", "isaac@newton.uk")
197 require.NoError(t, err)
198 err = cacheB.SetUserIdentity(isaacB)
199 require.NoError(t, err)
200
201 // distribute the identity
202 _, err = cacheA.Push("origin")
203 require.NoError(t, err)
204 err = cacheB.Pull("origin")
205 require.NoError(t, err)
206
207 // Create a bug in A
208 _, _, err = cacheA.Bugs().New("bug1", "message")
209 require.NoError(t, err)
210
211 // A --> remote --> B
212 _, err = cacheA.Push("origin")
213 require.NoError(t, err)
214
215 err = cacheB.Pull("origin")
216 require.NoError(t, err)
217
218 require.Len(t, cacheB.Bugs().AllIds(), 1)
219
220 // retrieve and set identity
221 reneB, err := cacheB.Identities().Resolve(reneA.Id())
222 require.NoError(t, err)
223
224 err = cacheB.SetUserIdentity(reneB)
225 require.NoError(t, err)
226
227 // B --> remote --> A
228 _, _, err = cacheB.Bugs().New("bug2", "message")
229 require.NoError(t, err)
230
231 _, err = cacheB.Push("origin")
232 require.NoError(t, err)
233
234 err = cacheA.Pull("origin")
235 require.NoError(t, err)
236
237 require.Len(t, cacheA.Bugs().AllIds(), 2)
238}
239
240func TestRemove(t *testing.T) {
241 repo := repository.CreateGoGitTestRepo(t, false)

Callers

nothing calls this directly

Calls 12

SetupGoGitReposAndRemoteFunction · 0.92
IdentitiesMethod · 0.80
SetUserIdentityMethod · 0.80
PushMethod · 0.80
PullMethod · 0.80
BugsMethod · 0.80
AllIdsMethod · 0.80
ResolveMethod · 0.65
IdMethod · 0.65
NewMethod · 0.45
LenMethod · 0.45

Tested by

no test coverage detected