(t *testing.T)
| 103 | } |
| 104 | |
| 105 | func TestMigrateLegacyMetadataFileWithLegacy(t *testing.T) { |
| 106 | ws, err := os.MkdirTemp("", "fake-workspace") |
| 107 | defer os.RemoveAll(ws) |
| 108 | assert.NoError(t, err) |
| 109 | |
| 110 | exercise := Exercise{Root: ws, Track: "bogus-track", Slug: "legacy"} |
| 111 | legacyMetadataFilepath := exercise.LegacyMetadataFilepath() |
| 112 | err = os.MkdirAll(filepath.Dir(legacyMetadataFilepath), os.FileMode(0755)) |
| 113 | assert.NoError(t, err) |
| 114 | |
| 115 | err = os.WriteFile(legacyMetadataFilepath, []byte{}, os.FileMode(0600)) |
| 116 | assert.NoError(t, err) |
| 117 | |
| 118 | ok, _ := exercise.HasLegacyMetadata() |
| 119 | assert.True(t, ok) |
| 120 | ok, _ = exercise.HasMetadata() |
| 121 | assert.False(t, ok) |
| 122 | |
| 123 | status, err := exercise.MigrateLegacyMetadataFile() |
| 124 | assert.Equal(t, MigrationStatusMigrated, status) |
| 125 | assert.NoError(t, err) |
| 126 | |
| 127 | ok, _ = exercise.HasLegacyMetadata() |
| 128 | assert.False(t, ok) |
| 129 | ok, _ = exercise.HasMetadata() |
| 130 | assert.True(t, ok) |
| 131 | } |
| 132 | |
| 133 | func TestMigrateLegacyMetadataFileWithLegacyAndModern(t *testing.T) { |
| 134 | ws, err := os.MkdirTemp("", "fake-workspace") |
nothing calls this directly
no test coverage detected