本文整理汇总了Golang中github.com/bitrise-io/bitrise/bitrise.ConfigModelFromYAMLBytes函数的典型用法代码示例。如果您正苦于以下问题:Golang ConfigModelFromYAMLBytes函数的具体用法?Golang ConfigModelFromYAMLBytes怎么用?Golang ConfigModelFromYAMLBytes使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ConfigModelFromYAMLBytes函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestLastWorkflowIDInConfig
func TestLastWorkflowIDInConfig(t *testing.T) {
configStr := `
format_version: 1.3.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
before:
target:
title: target
before_run:
- before
after_run:
- after1
after1:
after_run:
- after2
after2:
`
config, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
last, err := lastWorkflowIDInConfig("target", config)
require.NoError(t, err)
require.Equal(t, "after2", last)
}
开发者ID:bitrise-io,项目名称:bitrise,代码行数:29,代码来源:run_test.go
示例2: TestLastWorkflowIDInConfig
func TestLastWorkflowIDInConfig(t *testing.T) {
configStr := `
format_version: 1.0.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
before:
target:
title: target
before_run:
- before
after_run:
- after1
after1:
after_run:
- after2
after2:
`
config, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
if err != nil {
t.Fatal(err)
}
last, err := lastWorkflowIDInConfig("target", config)
if err != nil {
t.Fatal(err)
}
if last != "after2" {
t.Fatalf("Last workflow id is incorrect: (%s) should be (after2)", last)
}
}
开发者ID:andrewhavens,项目名称:bitrise,代码行数:35,代码来源:run_test.go
示例3: TestStepOutputsInTemplate
func TestStepOutputsInTemplate(t *testing.T) {
inventoryStr := `
envs:
- TEMPLATE_TEST0: "true"
`
inventory, err := bitrise.InventoryModelFromYAMLBytes([]byte(inventoryStr))
require.Equal(t, nil, err)
configStr := `
format_version: 1.0.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
app:
envs:
- TEMPLATE_TEST1: "true"
workflows:
test:
envs:
- TEMPLATE_TEST2: "true"
steps:
- script:
title: "Envman add"
inputs:
- content: |
#!/bin/bash
set -v
envman add --key TEMPLATE_TEST3 --value "true"
- script:
title: "TEMPLATE_TEST0"
run_if: |-
{{enveq "TEMPLATE_TEST0" "true"}}
- script:
title: "TEMPLATE_TEST1"
run_if: |-
{{enveq "TEMPLATE_TEST1" "true"}}
- script:
title: "TEMPLATE_TEST2"
run_if: |-
{{enveq "TEMPLATE_TEST2" "true"}}
- script:
title: "TEMPLATE_TEST3"
run_if: |-
{{enveq "TEMPLATE_TEST3" "true"}}
- script:
title: "TEMPLATE_TEST_NO_VALUE"
run_if: |-
{{enveq "TEMPLATE_TEST_NO_VALUE" "true"}}
`
config, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.Equal(t, nil, err)
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "test", config, inventory.Envs)
require.Equal(t, nil, err)
require.Equal(t, 5, len(buildRunResults.SuccessSteps))
require.Equal(t, 0, len(buildRunResults.FailedSteps))
require.Equal(t, 0, len(buildRunResults.FailedSkippableSteps))
require.Equal(t, 1, len(buildRunResults.SkippedSteps))
}
开发者ID:andrewhavens,项目名称:bitrise,代码行数:60,代码来源:run_test.go
示例4: TestSuccess
// Test - Bitrise activateAndRunWorkflow
// Trivial success test
func TestSuccess(t *testing.T) {
configStr := `
format_version: 1.3.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
target:
steps:
- script:
title: Should success
`
require.NoError(t, configs.InitPaths())
config, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
_, found := config.Workflows["target"]
require.Equal(t, true, found)
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "target", config, []envmanModels.EnvironmentItemModel{})
require.NoError(t, err)
require.Equal(t, 1, len(buildRunResults.SuccessSteps))
require.Equal(t, 0, len(buildRunResults.FailedSteps))
require.Equal(t, 0, len(buildRunResults.FailedSkippableSteps))
require.Equal(t, 0, len(buildRunResults.SkippedSteps))
require.Equal(t, "0", os.Getenv("BITRISE_BUILD_STATUS"))
require.Equal(t, "0", os.Getenv("STEPLIB_BUILD_STATUS"))
}
开发者ID:bitrise-io,项目名称:bitrise,代码行数:33,代码来源:run_test.go
示例5: TestWorkflowEnvironmentOverWrite
// Test - Bitrise Environments
// Test for same env in before and target workflow, actual workflow should overwrite environemnt and use own value
func TestWorkflowEnvironmentOverWrite(t *testing.T) {
configStr := `
format_version: 1.3.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
before:
envs:
- ENV: env1
steps:
- script:
inputs:
- content: |
#!/bin/bash
set -v
echo ${ENV}
if [[ "$ENV" != "env1" ]] ; then
exit 1
fi
target:
title: target
envs:
- ENV: env2
before_run:
- before
steps:
- script:
inputs:
- content: |
#!/bin/bash
set -v
echo ${ENV}
if [[ "$ENV" != "env2" ]] ; then
exit 1
fi
`
require.NoError(t, configs.InitPaths())
config, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
_, found := config.Workflows["target"]
require.Equal(t, true, found)
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "target", config, []envmanModels.EnvironmentItemModel{})
require.NoError(t, err)
require.Equal(t, 2, len(buildRunResults.SuccessSteps))
require.Equal(t, 0, len(buildRunResults.FailedSteps))
require.Equal(t, 0, len(buildRunResults.FailedSkippableSteps))
require.Equal(t, 0, len(buildRunResults.SkippedSteps))
require.Equal(t, "0", os.Getenv("BITRISE_BUILD_STATUS"))
require.Equal(t, "0", os.Getenv("STEPLIB_BUILD_STATUS"))
}
开发者ID:bitrise-io,项目名称:bitrise,代码行数:59,代码来源:run_test.go
示例6: TestStepOutputEnvironment
// Outputs exported with `envman add` should be accessible for subsequent Steps.
func TestStepOutputEnvironment(t *testing.T) {
configStr := `
format_version: 1.0.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
out-test:
title: Output Test
steps:
- script:
inputs:
- content: envman -l=debug add --key MY_TEST_1 --value 'Test value 1'
- script:
inputs:
- content: |-
if [[ "${MY_TEST_1}" != "Test value 1" ]] ; then
echo " [!] MY_TEST_1 invalid: ${MY_TEST_1}"
exit 1
fi
- script:
title: Should fail
inputs:
- content: |-
envman add --key MY_TEST_2 --value 'Test value 2'
# exported output, but test fails
exit 22
- script:
is_always_run: true
inputs:
- content: |-
if [[ "${MY_TEST_2}" != "Test value 2" ]] ; then
exit 1
fi
`
config, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.Equal(t, nil, err)
_, found := config.Workflows["out-test"]
require.Equal(t, true, found)
err = config.Validate()
require.Equal(t, nil, err)
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "out-test", config, []envmanModels.EnvironmentItemModel{})
require.Equal(t, "[BITRISE_CLI] - Workflow FINISHED but a couple of steps failed - Ouch", err.Error())
require.Equal(t, 0, len(buildRunResults.SkippedSteps))
require.Equal(t, 3, len(buildRunResults.SuccessSteps))
require.Equal(t, 1, len(buildRunResults.FailedSteps))
require.Equal(t, 0, len(buildRunResults.FailedSkippableSteps))
// the exported output envs should NOT be exposed here, should NOT be available!
require.Equal(t, "", os.Getenv("MY_TEST_1"))
require.Equal(t, "", os.Getenv("MY_TEST_2"))
// standard, Build Status ENV test
require.Equal(t, "1", os.Getenv("BITRISE_BUILD_STATUS"))
require.Equal(t, "1", os.Getenv("STEPLIB_BUILD_STATUS"))
}
开发者ID:birmacher,项目名称:bitrise,代码行数:58,代码来源:run_test.go
示例7: Test1Workflows
// Test - Bitrise activateAndRunWorkflow
// Trivial test with 1 workflow
func Test1Workflows(t *testing.T) {
configStr := `
format_version: 1.3.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
trivial_fail:
steps:
- script:
title: Should success
- script:
title: Should fail, but skippable
is_skippable: true
inputs:
- content: |
#!/bin/bash
set -v
exit 2
- script:
title: Should success
- script:
title: Should fail
inputs:
- content: |
#!/bin/bash
set -v
exit 2
- script:
title: Should success
is_always_run: true
- script:
title: Should skipped
`
config, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
workflow, found := config.Workflows["trivial_fail"]
require.Equal(t, true, found)
buildRunResults := models.BuildRunResultsModel{
StartTime: time.Now(),
StepmanUpdates: map[string]int{},
}
buildRunResults, err = activateAndRunWorkflow("trivial_fail", workflow, config, buildRunResults, &[]envmanModels.EnvironmentItemModel{}, "")
require.NoError(t, err)
require.Equal(t, 3, len(buildRunResults.SuccessSteps))
require.Equal(t, 1, len(buildRunResults.FailedSteps))
require.Equal(t, 1, len(buildRunResults.FailedSkippableSteps))
require.Equal(t, 1, len(buildRunResults.SkippedSteps))
require.Equal(t, "1", os.Getenv("BITRISE_BUILD_STATUS"))
require.Equal(t, "1", os.Getenv("STEPLIB_BUILD_STATUS"))
}
开发者ID:bitrise-io,项目名称:bitrise,代码行数:57,代码来源:run_test.go
示例8: TestDeleteEnvironment
func TestDeleteEnvironment(t *testing.T) {
configStr := `
format_version: 1.3.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
test:
steps:
- script:
is_skippable: true
title: "Envman add DELETE_TEST"
inputs:
- content: |
#!/bin/bash
envman add --key DELETE_TEST --value "delete test"
- script:
title: "Test env DELETE_TEST"
inputs:
- content: |
#!/bin/bash
set -v
echo "DELETE_TEST: $DELETE_TEST"
if [ -z "$DELETE_TEST" ] ; then
exit 1
fi
- script:
title: "Delete env DELETE_TEST"
inputs:
- content: |
#!/bin/bash
envman add --key DELETE_TEST --value ""
- script:
title: "Test env DELETE_TEST"
inputs:
- content: |
#!/bin/bash
set -v
echo "DELETE_TEST: $DELETE_TEST"
if [ ! -z "$DELETE_TEST" ] ; then
exit 1
fi
`
require.NoError(t, configs.InitPaths())
config, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "test", config, []envmanModels.EnvironmentItemModel{})
require.NoError(t, err)
require.Equal(t, 4, len(buildRunResults.SuccessSteps))
require.Equal(t, 0, len(buildRunResults.FailedSteps))
require.Equal(t, 0, len(buildRunResults.FailedSkippableSteps))
require.Equal(t, 0, len(buildRunResults.SkippedSteps))
}
开发者ID:bitrise-io,项目名称:bitrise,代码行数:55,代码来源:run_test.go
示例9: generateBitriseYMLContent
func generateBitriseYMLContent(userInputProjectTitle, userInputDevBranch string) (string, []string, error) {
bitriseConfContent := fmt.Sprintf(defaultBitriseYMLContentFormat,
models.Version, userInputProjectTitle, userInputDevBranch)
_, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(bitriseConfContent))
if err != nil {
return "", warnings, err
}
return bitriseConfContent, warnings, nil
}
开发者ID:godrei,项目名称:bitrise,代码行数:11,代码来源:init.go
示例10: TestStepInputEnvironment
// Test - Bitrise Environments
// Step input should visible only for actual step and invisible for other steps
func TestStepInputEnvironment(t *testing.T) {
configStr := `
format_version: 1.3.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
before:
steps:
- script:
inputs:
- working_dir: $HOME
target:
title: target
before_run:
- before
steps:
- script:
title: "${working_dir} should not exist"
inputs:
- content: |
#!/bin/bash
set -v
echo ${ENV}
if [ ! -z "$working_dir" ] ; then
echo ${working_dir}
exit 3
fi
`
require.NoError(t, configs.InitPaths())
config, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
_, found := config.Workflows["target"]
require.Equal(t, true, found)
if os.Getenv("working_dir") != "" {
require.Equal(t, nil, os.Unsetenv("working_dir"))
}
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "target", config, []envmanModels.EnvironmentItemModel{})
require.NoError(t, err)
require.Equal(t, 2, len(buildRunResults.SuccessSteps))
require.Equal(t, 0, len(buildRunResults.FailedSteps))
require.Equal(t, 0, len(buildRunResults.FailedSkippableSteps))
require.Equal(t, 0, len(buildRunResults.SkippedSteps))
require.Equal(t, "0", os.Getenv("BITRISE_BUILD_STATUS"))
require.Equal(t, "0", os.Getenv("STEPLIB_BUILD_STATUS"))
}
开发者ID:bitrise-io,项目名称:bitrise,代码行数:55,代码来源:run_test.go
示例11: GetBitriseConfigFromBase64Data
// GetBitriseConfigFromBase64Data ...
func GetBitriseConfigFromBase64Data(configBase64Str string) (models.BitriseDataModel, []string, error) {
configBase64Bytes, err := base64.StdEncoding.DecodeString(configBase64Str)
if err != nil {
return models.BitriseDataModel{}, []string{}, fmt.Errorf("Failed to decode base 64 string, error: %s", err)
}
config, warnings, err := bitrise.ConfigModelFromYAMLBytes(configBase64Bytes)
if err != nil {
return models.BitriseDataModel{}, warnings, fmt.Errorf("Failed to parse bitrise config, error: %s", err)
}
return config, warnings, nil
}
开发者ID:godrei,项目名称:bitrise,代码行数:14,代码来源:run_util.go
示例12: TestEvaluateInputs
func TestEvaluateInputs(t *testing.T) {
configStr := `
format_version: 1.3.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
test:
envs:
- TEST_KEY: "test value"
steps:
- script:
title: "Template test"
inputs:
- content: |
#!/bin/bash
set -v
{{if .IsCI}}
exit 1
{{else}}
exit 0
{{end}}
opts:
is_template: true
- script:
title: "Template test"
inputs:
- content: |
#!/bin/bash
set -v
{{if enveq "TEST_KEY" "test value"}}
exit 0
{{else}}
exit 1
{{end}}
opts:
is_template: true
`
require.NoError(t, configs.InitPaths())
config, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "test", config, []envmanModels.EnvironmentItemModel{})
require.Equal(t, nil, err)
require.Equal(t, 0, len(buildRunResults.SkippedSteps))
require.Equal(t, 2, len(buildRunResults.SuccessSteps))
require.Equal(t, 0, len(buildRunResults.FailedSteps))
require.Equal(t, 0, len(buildRunResults.FailedSkippableSteps))
}
开发者ID:bitrise-io,项目名称:bitrise,代码行数:51,代码来源:run_util_test.go
示例13: Test
func Test(t *testing.T) {
// should be valid
bitriseConfContent, warnings, err := generateBitriseYMLContent("App Title", "master")
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
require.NotEqual(t, "", bitriseConfContent)
require.Contains(t, bitriseConfContent, fmt.Sprintf("format_version: %s", models.Version))
require.Contains(t, bitriseConfContent, `- BITRISE_APP_TITLE: "App Title"`)
require.Contains(t, bitriseConfContent, `- BITRISE_DEV_BRANCH: "master"`)
_, warnings, err = bitrise.ConfigModelFromYAMLBytes([]byte(bitriseConfContent))
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
}
开发者ID:godrei,项目名称:bitrise,代码行数:14,代码来源:init_test.go
示例14: TestSuccess
// Test - Bitrise activateAndRunWorkflow
// Trivial success test
func TestSuccess(t *testing.T) {
configStr := `
format_version: 1.0.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
target:
steps:
- script:
title: Should success
`
config, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
if err != nil {
t.Fatal(err)
}
_, found := config.Workflows["target"]
if !found {
t.Fatal("No workflow found with ID (target)")
}
if err := config.Validate(); err != nil {
t.Fatal(err)
}
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "target", config, []envmanModels.EnvironmentItemModel{})
t.Log("Err: ", err)
if len(buildRunResults.SuccessSteps) != 1 {
t.Fatalf("Success step count (%d), should be (1)", len(buildRunResults.SuccessSteps))
}
if len(buildRunResults.FailedSteps) != 0 {
t.Fatalf("Failed step count (%d), should be (0)", len(buildRunResults.FailedSteps))
}
if len(buildRunResults.FailedSkippableSteps) != 0 {
t.Fatalf("FailedSkippable step count (%d), should be (0)", len(buildRunResults.FailedSkippableSteps))
}
if len(buildRunResults.SkippedSteps) != 0 {
t.Fatalf("Skipped step count (%d), should be (0)", len(buildRunResults.SkippedSteps))
}
if status := os.Getenv("BITRISE_BUILD_STATUS"); status != "0" {
t.Log("BITRISE_BUILD_STATUS:", status)
t.Fatal("BUILD_STATUS envs are incorrect")
}
if status := os.Getenv("STEPLIB_BUILD_STATUS"); status != "0" {
t.Log("STEPLIB_BUILD_STATUS:", status)
t.Fatal("STEPLIB_BUILD_STATUS envs are incorrect")
}
}
开发者ID:andrewhavens,项目名称:bitrise,代码行数:49,代码来源:run_test.go
示例15: TestFailedStepOutputs
func TestFailedStepOutputs(t *testing.T) {
configStr := `
format_version: 1.3.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
test:
steps:
- script:
is_skippable: true
title: "Envman add"
inputs:
- content: |
#!/bin/bash
set -v
envman add --key FAILED_OUTPUT_TEST --value "failed step output"
exit 1
- script:
title: "Test failed output"
inputs:
- content: |
#!/bin/bash
set -v
echo "FAILED_OUTPUT_TEST: $FAILED_OUTPUT_TEST"
if [[ "$FAILED_OUTPUT_TEST" != "failed step output" ]] ; then
exit 1
fi
`
require.NoError(t, configs.InitPaths())
config, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "test", config, []envmanModels.EnvironmentItemModel{})
require.NoError(t, err)
require.Equal(t, 1, len(buildRunResults.SuccessSteps))
require.Equal(t, 0, len(buildRunResults.FailedSteps))
require.Equal(t, 1, len(buildRunResults.FailedSkippableSteps))
require.Equal(t, 0, len(buildRunResults.SkippedSteps))
}
开发者ID:bitrise-io,项目名称:bitrise,代码行数:41,代码来源:run_test.go
示例16: TestExpandEnvs
func TestExpandEnvs(t *testing.T) {
configStr := `
format_version: 1.3.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
test:
envs:
- ENV0: "Hello"
- ENV1: "$ENV0 world"
steps:
- script:
inputs:
- content: |
#!/bin/bash
envman add --key ENV2 --value "$ENV1 !"
- script:
inputs:
- content: |
#!/bin/bash
echo "ENV2: $ENV2"
if [ "$ENV2" != "Hello world !" ] ; then
echo "Actual ($ENV2), excpected (Hello world !)"
exit 1
fi
`
require.NoError(t, configs.InitPaths())
config, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.NoError(t, err)
require.Equal(t, 0, len(warnings))
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "test", config, []envmanModels.EnvironmentItemModel{})
require.NoError(t, err)
require.Equal(t, 2, len(buildRunResults.SuccessSteps))
require.Equal(t, 0, len(buildRunResults.FailedSteps))
require.Equal(t, 0, len(buildRunResults.FailedSkippableSteps))
require.Equal(t, 0, len(buildRunResults.SkippedSteps))
}
开发者ID:bitrise-io,项目名称:bitrise,代码行数:40,代码来源:run_util_test.go
示例17: TestInvalidStepID
func TestInvalidStepID(t *testing.T) {
configStr := `
format_version: 1.0.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
target:
title: Invalid step id
steps:
- invalid-step:
- invalid-step:
- invalid-step:
`
config, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
if err != nil {
t.Fatal(err)
}
results, err := runWorkflowWithConfiguration(time.Now(), "target", config, []envmanModels.EnvironmentItemModel{})
require.Equal(t, 1, len(results.StepmanUpdates))
}
开发者ID:birmacher,项目名称:bitrise,代码行数:22,代码来源:run_util_test.go
示例18: TestRefeneceCycle
// Test - Bitrise ConfigModelFromYAMLBytes
// Workflow contains before and after workflow, and no one contains steps, but circular wofklow dependecy exist, which should fail
func TestRefeneceCycle(t *testing.T) {
configStr := `
format_version: 1.3.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
before1:
before_run:
- before2
before2:
before_run:
- before1
target:
before_run:
- before1
- before2
`
_, warnings, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
require.Error(t, err)
require.Equal(t, 0, len(warnings))
}
开发者ID:bitrise-io,项目名称:bitrise,代码行数:25,代码来源:run_test.go
示例19: TestRefeneceCycle
// Test - Bitrise ConfigModelFromYAMLBytes
// Workflow contains before and after workflow, and no one contains steps, but circular wofklow dependecy exist, which should fail
func TestRefeneceCycle(t *testing.T) {
configStr := `
format_version: 1.0.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
before1:
before_run:
- before2
before2:
before_run:
- before1
target:
before_run:
- before1
- before2
`
_, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
if err == nil {
t.Fatal("Should find workflow reference cycle")
}
}
开发者ID:andrewhavens,项目名称:bitrise,代码行数:26,代码来源:run_test.go
示例20: TestStepOutputEnvironment
// Outputs exported with `envman add` should be accessible for subsequent Steps,
// except if the step failed.
func TestStepOutputEnvironment(t *testing.T) {
configStr := `
format_version: 1.0.0
default_step_lib_source: "https://github.com/bitrise-io/bitrise-steplib.git"
workflows:
out-test:
title: Output Test
steps:
- script:
inputs:
- content: envman -l=debug add --key MY_TEST_1 --value 'Test value 1'
- script:
inputs:
- content: |-
if [[ "${MY_TEST_1}" != "Test value 1" ]] ; then
echo " [!] MY_TEST_1 invalid: ${MY_TEST_1}"
exit 1
fi
- script:
inputs:
- content: |-
envman add --key MY_TEST_2 --value 'Test value 2'
# exported output, but test fails
exit 22
- script:
is_always_run: true
inputs:
- content: |-
if [[ "${MY_TEST_2}" != "" ]] ; then
echo " [!] MY_TEST_2 invalid - expected empty, got: ${MY_TEST_2}"
exit 1
fi
`
config, err := bitrise.ConfigModelFromYAMLBytes([]byte(configStr))
if err != nil {
t.Fatal(err)
}
_, found := config.Workflows["out-test"]
if !found {
t.Fatal("No workflow found with ID (out-test)")
}
if err := config.Validate(); err != nil {
t.Fatal(err)
}
buildRunResults, err := runWorkflowWithConfiguration(time.Now(), "out-test", config, []envmanModels.EnvironmentItemModel{})
t.Log("Err: ", err)
t.Logf("Build run result: %#v", buildRunResults)
if len(buildRunResults.SkippedSteps) != 0 {
t.Fatalf("Skipped step count (%d), should be (0)", len(buildRunResults.SkippedSteps))
}
if len(buildRunResults.SuccessSteps) != 3 {
t.Fatalf("Success step count (%d), should be (3)", len(buildRunResults.SuccessSteps))
}
if len(buildRunResults.FailedSteps) != 1 {
t.Fatalf("Failed step count (%d), should be (1)", len(buildRunResults.FailedSteps))
}
if len(buildRunResults.FailedSkippableSteps) != 0 {
t.Fatalf("FailedSkippable step count (%d), should be (0)", len(buildRunResults.FailedSkippableSteps))
}
// the exported output envs should NOT be exposed here, should NOT be available!
if envVal := os.Getenv("MY_TEST_1"); envVal != "" {
t.Fatal("MY_TEST_1 env is exposed, should NOT be! Value: ", envVal)
}
if envVal := os.Getenv("MY_TEST_2"); envVal != "" {
t.Fatal("MY_TEST_2 env is exposed, should NOT be! Value: ", envVal)
}
// standard, Build Status ENV test
if status := os.Getenv("BITRISE_BUILD_STATUS"); status != "1" {
t.Log("BITRISE_BUILD_STATUS:", status)
t.Fatal("BUILD_STATUS envs are incorrect")
}
if status := os.Getenv("STEPLIB_BUILD_STATUS"); status != "1" {
t.Log("STEPLIB_BUILD_STATUS:", status)
t.Fatal("STEPLIB_BUILD_STATUS envs are incorrect")
}
}
开发者ID:benjaminboxler,项目名称:bitrise,代码行数:82,代码来源:run_test.go
注:本文中的github.com/bitrise-io/bitrise/bitrise.ConfigModelFromYAMLBytes函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论