MCPcopy Create free account
hub / github.com/exercism/cli / TestMigrateLegacyMetadataFileWithLegacyAndModern

Function TestMigrateLegacyMetadataFileWithLegacyAndModern

workspace/exercise_test.go:133–164  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

131}
132
133func TestMigrateLegacyMetadataFileWithLegacyAndModern(t *testing.T) {
134 ws, err := os.MkdirTemp("", "fake-workspace")
135 defer os.RemoveAll(ws)
136 assert.NoError(t, err)
137
138 exercise := Exercise{Root: ws, Track: "bogus-track", Slug: "both-legacy-and-modern"}
139 metadataFilepath := exercise.MetadataFilepath()
140 legacyMetadataFilepath := exercise.LegacyMetadataFilepath()
141 err = os.MkdirAll(filepath.Dir(legacyMetadataFilepath), os.FileMode(0755))
142 assert.NoError(t, err)
143 err = os.MkdirAll(filepath.Dir(metadataFilepath), os.FileMode(0755))
144 assert.NoError(t, err)
145
146 err = os.WriteFile(legacyMetadataFilepath, []byte{}, os.FileMode(0600))
147 assert.NoError(t, err)
148 err = os.WriteFile(metadataFilepath, []byte{}, os.FileMode(0600))
149 assert.NoError(t, err)
150
151 ok, _ := exercise.HasLegacyMetadata()
152 assert.True(t, ok)
153 ok, _ = exercise.HasMetadata()
154 assert.True(t, ok)
155
156 status, err := exercise.MigrateLegacyMetadataFile()
157 assert.Equal(t, MigrationStatusRemoved, status)
158 assert.NoError(t, err)
159
160 ok, _ = exercise.HasLegacyMetadata()
161 assert.False(t, ok)
162 ok, _ = exercise.HasMetadata()
163 assert.True(t, ok)
164}

Callers

nothing calls this directly

Calls 5

MetadataFilepathMethod · 0.95
HasLegacyMetadataMethod · 0.95
HasMetadataMethod · 0.95

Tested by

no test coverage detected