Add test for --secretfile
This commit is contained in:
parent
f188088306
commit
398393ce7c
1 changed files with 61 additions and 0 deletions
|
@ -116,3 +116,64 @@ func Test_runCreateRunnerFile(t *testing.T) {
|
|||
assert.NoError(t, err)
|
||||
assert.Nil(t, resp.Msg.Task)
|
||||
}
|
||||
|
||||
func Test_runCreateRunnerFileFromSecretFile(t *testing.T) {
|
||||
//
|
||||
// Set the .runner file to be in a temporary directory
|
||||
//
|
||||
dir := t.TempDir()
|
||||
configFile := dir + "/config.yml"
|
||||
runnerFile := dir + "/.runner"
|
||||
cfg, err := config.LoadDefault("")
|
||||
cfg.Runner.File = runnerFile
|
||||
yamlData, err := yaml.Marshal(cfg)
|
||||
assert.NoError(t, err)
|
||||
assert.NoError(t, os.WriteFile(configFile, yamlData, 0o666))
|
||||
|
||||
instance, has := os.LookupEnv("FORGEJO_URL")
|
||||
if !has {
|
||||
instance = "https://code.forgejo.org"
|
||||
}
|
||||
secret, has := os.LookupEnv("FORGEJO_RUNNER_SECRET")
|
||||
assert.True(t, has)
|
||||
name := "testrunner"
|
||||
secretFile := dir + "/secretfile"
|
||||
f, err := os.OpenFile(secretFile, os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0o600)
|
||||
assert.NoError(t, err)
|
||||
_, err := f.WriteString(secret)
|
||||
assert.NoError(t, err)
|
||||
err := f.Close()
|
||||
assert.NoError(t, err)
|
||||
|
||||
//
|
||||
// Run create-runner-file
|
||||
//
|
||||
ctx := context.Background()
|
||||
cmd := createRunnerFileCmd(ctx, &configFile)
|
||||
output, err := executeCommand(ctx, cmd, "--connect", "--secretfile", secretFile, "--instance", instance, "--name", name)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, "", output)
|
||||
|
||||
//
|
||||
// Read back the runner file and verify its content
|
||||
//
|
||||
reg, err := config.LoadRegistration(runnerFile)
|
||||
assert.NoError(t, err)
|
||||
assert.EqualValues(t, secret, reg.Token)
|
||||
assert.EqualValues(t, instance, reg.Address)
|
||||
|
||||
//
|
||||
// Verify that fetching a task successfully returns there is
|
||||
// no task for this runner
|
||||
//
|
||||
cli := client.New(
|
||||
reg.Address,
|
||||
cfg.Runner.Insecure,
|
||||
reg.UUID,
|
||||
reg.Token,
|
||||
ver.Version(),
|
||||
)
|
||||
resp, err := cli.FetchTask(ctx, connect.NewRequest(&runnerv1.FetchTaskRequest{}))
|
||||
assert.NoError(t, err)
|
||||
assert.Nil(t, resp.Msg.Task)
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue