Skip to content

Commit 3b0c518

Browse files
author
Emma Turetsky
committed
Code cleanup in response to PR comments
1 parent 19be8de commit 3b0c518

6 files changed

Lines changed: 52 additions & 67 deletions

File tree

client/fed_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -900,7 +900,7 @@ func TestObjectList405Error(t *testing.T) {
900900
// end-to-end
901901
func TestClientUnpack(t *testing.T) {
902902
server_utils.ResetTestState()
903-
test_utils.InitClient(t, make(map[string]any))
903+
test_utils.InitClient(t, nil)
904904

905905
fed := fed_test_utils.NewFedTest(t, bothPublicOriginCfg)
906906
export := fed.Exports[0]

cmd/plugin_test.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -589,8 +589,6 @@ func TestPluginDirectRead(t *testing.T) {
589589
defer server_utils.ResetTestState()
590590

591591
dirName := t.TempDir()
592-
// We are purposely creating a test with a config of a single-space.
593-
// The empty string indicates using the default config, which we don't want.
594592

595593
fed := fed_test_utils.NewFedTest(t, publicTestOrigin)
596594
host := param.Server_Hostname.GetString() + ":" + strconv.Itoa(param.Server_WebPort.GetInt())
@@ -873,8 +871,6 @@ func TestPluginRecursiveDownload(t *testing.T) {
873871

874872
dirName := t.TempDir()
875873

876-
// We are purposely creating a test with a config of a single-space.
877-
// The empty string indicates using the default config, which we don't want.
878874
fed := fed_test_utils.NewFedTest(t, publicTestOrigin)
879875
host := param.Server_Hostname.GetString() + ":" + strconv.Itoa(param.Server_WebPort.GetInt())
880876

config/config.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,8 +511,9 @@ func getConfigBase() string {
511511
if err != nil {
512512
os := runtime.GOOS
513513
if os == "windows" {
514-
log.Warningln("No home directory found for user -- will check for configuration yaml in C:/ProgramData/pelican")
515-
return filepath.Join("C:", "ProgramData", "pelican")
514+
windowsPath := filepath.Join("C:", "ProgramData", "pelican")
515+
log.Warningln("No home directory found for user -- will check for configuration yaml in ", windowsPath)
516+
return windowsPath
516517
}
517518
log.Warningln("No home directory found for user -- will check for configuration yaml in /etc/pelican/")
518519
return filepath.Join("/etc", "pelican")

fed_test_utils/fed.go

Lines changed: 44 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -176,79 +176,66 @@ func NewFedTest(t *testing.T, originConfig string) (ft *FedTest) {
176176
require.NoError(t, err)
177177

178178
// Read in any config we may have set
179-
var originConf interface{}
180-
if originConfig != "" {
181-
viper.SetConfigType("yaml")
182-
err = viper.MergeConfig(strings.NewReader(originConfig))
183-
require.NoError(t, err, "error reading config")
184-
185-
err := yaml.Unmarshal([]byte(originConfig), &originConf)
186-
require.NoError(t, err, "error unmarshalling into interface")
187-
188-
confMap := originConf.(map[string]interface{})
189-
190-
originRaw, exists := confMap["Origin"]
191-
192-
if exists {
193-
originMap := originRaw.(map[string]interface{})
194-
195-
// Override the test directory from the config file with our temp directory
196-
if exportsRaw, ok := originMap["Exports"]; ok {
197-
for i, item := range exportsRaw.([]interface{}) {
198-
originDir, err := os.MkdirTemp("", fmt.Sprintf("Export%d", i))
199-
assert.NoError(t, err)
200-
t.Cleanup(func() {
201-
err := os.RemoveAll(originDir)
202-
require.NoError(t, err)
203-
})
204-
205-
exportMap := item.(map[string]interface{})
206-
exportMap["StoragePrefix"] = originDir
207-
208-
// Change the permissions of the temporary origin directory
209-
permissions = os.FileMode(0755)
210-
err = os.Chmod(originDir, permissions)
211-
require.NoError(t, err)
179+
var importedConf any
180+
viper.SetConfigType("yaml")
181+
err = viper.MergeConfig(strings.NewReader(originConfig))
182+
require.NoError(t, err, "error reading config")
212183

213-
// Change ownership on the temporary origin directory so files can be uploaded
214-
uinfo, err := config.GetDaemonUserInfo()
215-
require.NoError(t, err)
216-
require.NoError(t, os.Chown(originDir, uinfo.Uid, uinfo.Gid))
184+
err = yaml.Unmarshal([]byte(originConfig), &importedConf)
185+
require.NoError(t, err, "error unmarshalling into interface")
217186

218-
// Start off with a Hello World file we can use for testing in each of our exports
219-
err = os.WriteFile(filepath.Join(originDir, "hello_world.txt"), []byte("Hello, World!"), os.FileMode(0644))
220-
require.NoError(t, err)
221-
}
222-
} else {
223-
originDir, err := os.MkdirTemp("", fmt.Sprintf("Export%s", "test"))
187+
confMap := importedConf.(map[string]any)
188+
189+
if originRaw, exists := confMap["Origin"]; exists {
190+
originMap := originRaw.(map[string]any)
191+
192+
overrideTemp := func(storageDir string, exportMap map[string]any) {
193+
exportMap["StoragePrefix"] = storageDir
194+
195+
// Change the permissions of the temporary origin directory
196+
permissions = os.FileMode(0755)
197+
err = os.Chmod(storageDir, permissions)
198+
require.NoError(t, err)
199+
200+
// Change ownership on the temporary origin directory so files can be uploaded
201+
uinfo, err := config.GetDaemonUserInfo()
202+
require.NoError(t, err)
203+
require.NoError(t, os.Chown(storageDir, uinfo.Uid, uinfo.Gid))
204+
205+
// Start off with a Hello World file we can use for testing in each of our exports
206+
err = os.WriteFile(filepath.Join(storageDir, "hello_world.txt"), []byte("Hello, World!"), os.FileMode(0644))
207+
require.NoError(t, err)
208+
}
209+
210+
// Override the test directory from the config file with our temp directory
211+
if exportsRaw, exists := originMap["Exports"]; exists {
212+
for i, item := range exportsRaw.([]any) {
213+
originDir, err := os.MkdirTemp("", fmt.Sprintf("Export%d", i))
224214
assert.NoError(t, err)
225215
t.Cleanup(func() {
226216
err := os.RemoveAll(originDir)
227217
require.NoError(t, err)
228218
})
229219

230-
originMap["StoragePrefix"] = originDir
231-
232-
permissions = os.FileMode(0755)
233-
err = os.Chmod(originDir, permissions)
234-
require.NoError(t, err)
235-
236-
// Change ownership on the temporary origin directory so files can be uploaded
237-
uinfo, err := config.GetDaemonUserInfo()
220+
exportMap := item.(map[string]any)
221+
overrideTemp(originDir, exportMap)
222+
}
223+
} else {
224+
originDir, err := os.MkdirTemp("", fmt.Sprintf("Export%s", "test"))
225+
assert.NoError(t, err)
226+
t.Cleanup(func() {
227+
err := os.RemoveAll(originDir)
238228
require.NoError(t, err)
239-
require.NoError(t, os.Chown(originDir, uinfo.Uid, uinfo.Gid))
229+
})
240230

241-
// Start off with a Hello World file we can use for testing in the StoragePrefix
242-
err = os.WriteFile(filepath.Join(originDir, "hello_world.txt"), []byte("Hello, World!"), os.FileMode(0644))
243-
require.NoError(t, err)
244-
}
231+
overrideTemp(originDir, originMap)
245232
}
246233
}
247234

248235
confDir := t.TempDir()
249236
outputPath := filepath.Join(confDir, "tempfile_*.yaml")
250237

251-
outputData, err := yaml.Marshal(&originConf)
238+
outputData, err := yaml.Marshal(&importedConf)
252239
require.NoError(t, err, "error marshalling struct into yaml format")
253240

254241
err = os.WriteFile(outputPath, outputData, 0644)

lotman/lotman_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ func TestLotmanInit(t *testing.T) {
148148

149149
t.Run("TestGoodInit", func(t *testing.T) {
150150
viper.Set("Log.Level", "debug")
151-
viper.Set("Cache.DataLocations", []string{})
151+
viper.Set(param.Cache_DataLocations.GetName(), []string{})
152152
server := getMockDiscoveryHost()
153153
// Set the Federation.DiscoveryUrl to the test server's URL
154154
// Lotman uses the discovered URLs/keys to determine some aspects of lot ownership

xrootd/authorization_test.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,7 @@ func TestEmitCfg(t *testing.T) {
478478

479479
defer server_utils.ResetTestState()
480480

481-
test_utils.InitClient(t, map[string]any{})
481+
test_utils.InitClient(t, nil)
482482
viper.Set(param.Origin_RunLocation.GetName(), dirname)
483483

484484
configTester := func(cfg *ScitokensCfg, configResult string) func(t *testing.T) {
@@ -557,7 +557,7 @@ func TestLoadScitokensConfig(t *testing.T) {
557557

558558
defer server_utils.ResetTestState()
559559

560-
test_utils.InitClient(t, map[string]any{})
560+
test_utils.InitClient(t, nil)
561561

562562
viper.Set(param.Origin_RunLocation.GetName(), dirname)
563563

@@ -595,6 +595,7 @@ func TestMergeConfig(t *testing.T) {
595595
viper.Set(param.Origin_Port.GetName(), 8443)
596596
viper.Set(param.Origin_StoragePrefix.GetName(), "/")
597597
viper.Set(param.Origin_FederationPrefix.GetName(), "/")
598+
viper.Set("ConfigDir", dirname)
598599
// We don't inherit any defaults at this level of code -- in order to recognize
599600
// that this is an authorized prefix, we must set either EnableReads && !EnablePublicReads
600601
// or EnableWrites

0 commit comments

Comments
 (0)