MCPcopy
hub / github.com/harness/harness / createRepositoriesForSpaces

Function createRepositoriesForSpaces

app/store/database/space_test.go:105–178  ·  view source on GitHub ↗
(
	ctx context.Context,
	t *testing.T,
	db dbtx.Accessor,
	repoStore store.RepoStore,
	spaceStore store.SpaceStore,
)

Source from the content-addressed store, hash-verified

103}
104
105func createRepositoriesForSpaces(
106 ctx context.Context,
107 t *testing.T,
108 db dbtx.Accessor,
109 repoStore store.RepoStore,
110 spaceStore store.SpaceStore,
111) (rootSpaces []types.Space, total int64) {
112 rootSpaces = createNestedSpacesForStorageSize(ctx, t, spaceStore)
113
114 type row struct {
115 ID int64
116 Identifier string
117 ParentID *int64
118 }
119
120 // Directly query the database for all spaces
121 var spaces []row
122 query := "SELECT space_id, space_uid, space_parent_id FROM spaces"
123
124 rows, err := db.QueryContext(ctx, query)
125 require.NoError(t, err)
126
127 defer rows.Close()
128
129 for rows.Next() {
130 var space row
131 err := rows.Scan(
132 &space.ID,
133 &space.Identifier,
134 &space.ParentID,
135 )
136 require.NoError(t, err)
137 spaces = append(spaces, space)
138 }
139
140 require.NoError(t, rows.Err())
141
142 defaultSize := int64(100)
143
144 // Print out the spaces
145 for i, space := range spaces {
146 t.Logf("Space ID: %d, Identifier: %s, Size: %d", space.ID, space.Identifier, defaultSize)
147
148 repo := &types.Repository{
149 ParentID: space.ID,
150 GitUID: fmt.Sprintf("repo-%d", i),
151 Identifier: fmt.Sprintf("repo-%d", i),
152 }
153 err := repoStore.Create(ctx, repo) // Assuming CreateRepository is defined
154 require.NoError(t, err)
155
156 err = repoStore.UpdateSize(ctx, repo.ID, defaultSize, defaultSize)
157 require.NoError(t, err)
158
159 total += defaultSize
160 }
161
162 // add one deleted repo

Callers 1

Calls 10

LogfMethod · 0.80
CloseMethod · 0.65
NextMethod · 0.65
ScanMethod · 0.65
ErrMethod · 0.65
CreateMethod · 0.65
UpdateSizeMethod · 0.65
SoftDeleteMethod · 0.65
QueryContextMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…