本文整理汇总了Golang中k8s/io/kubernetes/pkg/util.StringList函数的典型用法代码示例。如果您正苦于以下问题:Golang StringList函数的具体用法?Golang StringList怎么用?Golang StringList使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了StringList函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestNewBuildEnvVars
func TestNewBuildEnvVars(t *testing.T) {
dockerSearcher := app.DockerRegistrySearcher{
Client: dockerregistry.NewClient(),
}
tests := []struct {
name string
config *AppConfig
expected []kapi.EnvVar
expectedErr error
}{
{
name: "explicit environment variables for buildConfig and deploymentConfig",
config: &AppConfig{
AddEnvironmentToBuild: true,
SourceRepositories: util.StringList([]string{"https://github.com/openshift/ruby-hello-world"}),
DockerImages: util.StringList([]string{"openshift/ruby-20-centos7", "openshift/mongodb-24-centos7"}),
OutputDocker: true,
Environment: util.StringList([]string{"BUILD_ENV_1=env_value_1", "BUILD_ENV_2=env_value_2"}),
dockerSearcher: dockerSearcher,
detector: app.SourceRepositoryEnumerator{
Detectors: source.DefaultDetectors,
Tester: dockerfile.NewTester(),
},
typer: kapi.Scheme,
osclient: &client.Fake{},
originNamespace: "default",
},
expected: []kapi.EnvVar{
{Name: "BUILD_ENV_1", Value: "env_value_1"},
{Name: "BUILD_ENV_2", Value: "env_value_2"},
},
expectedErr: nil,
},
}
for _, test := range tests {
test.config.refBuilder = &app.ReferenceBuilder{}
test.config.Out, test.config.ErrOut = os.Stdout, os.Stderr
res, err := test.config.RunBuilds()
if err != test.expectedErr {
t.Errorf("%s: Error mismatch! Expected %v, got %v", test.name, test.expectedErr, err)
continue
}
got := []kapi.EnvVar{}
for _, obj := range res.List.Items {
switch tp := obj.(type) {
case *buildapi.BuildConfig:
got = tp.Spec.Strategy.SourceStrategy.Env
break
}
}
if !reflect.DeepEqual(test.expected, got) {
t.Errorf("%s: unexpected output. Expected: %#v, Got: %#v", test.name, test.expected, got)
continue
}
}
}
示例2: MakeClientCert
func (o CreateNodeConfigOptions) MakeClientCert(clientCertFile, clientKeyFile string) error {
if o.IsCreateClientCertificate() {
createNodeClientCert := CreateClientCertOptions{
SignerCertOptions: o.SignerCertOptions,
CertFile: clientCertFile,
KeyFile: clientKeyFile,
User: "system:node:" + o.NodeName,
Groups: util.StringList([]string{bootstrappolicy.NodesGroup}),
Output: o.Output,
}
if err := createNodeClientCert.Validate(nil); err != nil {
return err
}
if _, err := createNodeClientCert.CreateClientCert(); err != nil {
return err
}
} else {
if err := CopyFile(o.ClientCertFile, clientCertFile, 0644); err != nil {
return err
}
if err := CopyFile(o.ClientKeyFile, clientKeyFile, 0600); err != nil {
return err
}
}
return nil
}
示例3: ensureCORSAllowedOrigins
// ensureCORSAllowedOrigins takes a string list of origins and attempts to covert them to CORS origin
// regexes, or exits if it cannot.
func (c *MasterConfig) ensureCORSAllowedOrigins() []*regexp.Regexp {
if len(c.Options.CORSAllowedOrigins) == 0 {
return []*regexp.Regexp{}
}
allowedOriginRegexps, err := util.CompileRegexps(util.StringList(c.Options.CORSAllowedOrigins))
if err != nil {
glog.Fatalf("Invalid --cors-allowed-origins: %v", err)
}
return allowedOriginRegexps
}
示例4: TestSecretTypeDiscovered
func TestSecretTypeDiscovered(t *testing.T) {
options := CreateSecretOptions{
Name: "any",
Sources: util.StringList([]string{"./bsFixtures/leadingdot/.dockercfg"}),
Stderr: ioutil.Discard,
}
secret, err := options.BundleSecret()
if err != nil {
t.Errorf("unexpected error: %v", err)
}
if secret.Type != kapi.SecretTypeDockercfg {
t.Errorf("expected %v, got %v", kapi.SecretTypeDockercfg, secret.Type)
}
}
示例5: createClientCert
func (o CreateMasterCertsOptions) createClientCert(clientCertInfo ClientCertInfo, getSignerCertOptions *SignerCertOptions) error {
clientCertOptions := CreateClientCertOptions{
SignerCertOptions: getSignerCertOptions,
CertFile: clientCertInfo.CertLocation.CertFile,
KeyFile: clientCertInfo.CertLocation.KeyFile,
User: clientCertInfo.User,
Groups: util.StringList(clientCertInfo.Groups.List()),
Overwrite: o.Overwrite,
Output: o.Output,
}
if _, err := clientCertOptions.CreateClientCert(); err != nil {
return err
}
return nil
}
示例6: TestValidate
func TestValidate(t *testing.T) {
tests := map[string]struct {
cfg AppConfig
componentValues []string
sourceRepoLocations []string
env map[string]string
parms map[string]string
}{
"components": {
cfg: AppConfig{
Components: util.StringList([]string{"one", "two", "three/four"}),
},
componentValues: []string{"one", "two", "three/four"},
sourceRepoLocations: []string{},
env: map[string]string{},
parms: map[string]string{},
},
"envs": {
cfg: AppConfig{
Environment: util.StringList([]string{"one=first", "two=second", "three=third"}),
},
componentValues: []string{},
sourceRepoLocations: []string{},
env: map[string]string{"one": "first", "two": "second", "three": "third"},
parms: map[string]string{},
},
"component+source": {
cfg: AppConfig{
Components: util.StringList([]string{"one~https://server/repo.git"}),
},
componentValues: []string{"one"},
sourceRepoLocations: []string{"https://server/repo.git"},
env: map[string]string{},
parms: map[string]string{},
},
"components+source": {
cfg: AppConfig{
Components: util.StringList([]string{"mysql+ruby~git://github.com/namespace/repo.git"}),
},
componentValues: []string{"mysql", "ruby"},
sourceRepoLocations: []string{"git://github.com/namespace/repo.git"},
env: map[string]string{},
parms: map[string]string{},
},
"components+parms": {
cfg: AppConfig{
Components: util.StringList([]string{"ruby-helloworld-sample"}),
TemplateParameters: util.StringList([]string{"one=first", "two=second"}),
},
componentValues: []string{"ruby-helloworld-sample"},
sourceRepoLocations: []string{},
env: map[string]string{},
parms: map[string]string{
"one": "first",
"two": "second",
},
},
}
for n, c := range tests {
c.cfg.refBuilder = &app.ReferenceBuilder{}
cr, _, env, parms, err := c.cfg.validate()
if err != nil {
t.Errorf("%s: Unexpected error: %v", n, err)
}
compValues := []string{}
for _, r := range cr {
compValues = append(compValues, r.Input().Value)
}
if !reflect.DeepEqual(c.componentValues, compValues) {
t.Errorf("%s: Component values don't match. Expected: %v, Got: %v", n, c.componentValues, compValues)
}
if len(env) != len(c.env) {
t.Errorf("%s: Environment variables don't match. Expected: %v, Got: %v", n, c.env, env)
}
for e, v := range env {
if c.env[e] != v {
t.Errorf("%s: Environment variables don't match. Expected: %v, Got: %v", n, c.env, env)
break
}
}
if len(parms) != len(c.parms) {
t.Errorf("%s: Template parameters don't match. Expected: %v, Got: %v", n, c.parms, parms)
}
for p, v := range parms {
if c.parms[p] != v {
t.Errorf("%s: Template parameters don't match. Expected: %v, Got: %v", n, c.parms, parms)
break
}
}
}
}
示例7: TestRunBuilds
func TestRunBuilds(t *testing.T) {
dockerSearcher := app.DockerRegistrySearcher{
Client: dockerregistry.NewClient(),
}
tests := []struct {
name string
config *AppConfig
expected map[string][]string
expectedErr func(error) bool
}{
{
name: "successful ruby app generation",
config: &AppConfig{
SourceRepositories: util.StringList([]string{"https://github.com/openshift/ruby-hello-world"}),
DockerImages: util.StringList([]string{"openshift/ruby-20-centos7", "openshift/mongodb-24-centos7"}),
OutputDocker: true,
dockerSearcher: dockerSearcher,
imageStreamSearcher: app.ImageStreamSearcher{
Client: &client.Fake{},
ImageStreamImages: &client.Fake{},
Namespaces: []string{"default"},
},
imageStreamByAnnotationSearcher: &app.ImageStreamByAnnotationSearcher{
Client: &client.Fake{},
ImageStreamImages: &client.Fake{},
Namespaces: []string{"default"},
},
templateSearcher: app.TemplateSearcher{
Client: &client.Fake{},
TemplateConfigsNamespacer: &client.Fake{},
Namespaces: []string{"openshift", "default"},
},
detector: app.SourceRepositoryEnumerator{
Detectors: source.DefaultDetectors,
Tester: dockerfile.NewTester(),
},
typer: kapi.Scheme,
osclient: &client.Fake{},
originNamespace: "default",
},
expected: map[string][]string{
"buildConfig": {"ruby-hello-world"},
"imageStream": {"ruby-20-centos7"},
},
},
{
name: "successful build from dockerfile",
config: &AppConfig{
Dockerfile: "FROM openshift/origin-base\nUSER foo",
dockerSearcher: dockerSearcher,
imageStreamSearcher: app.ImageStreamSearcher{
Client: &client.Fake{},
ImageStreamImages: &client.Fake{},
Namespaces: []string{"default"},
},
imageStreamByAnnotationSearcher: &app.ImageStreamByAnnotationSearcher{
Client: &client.Fake{},
ImageStreamImages: &client.Fake{},
Namespaces: []string{"default"},
},
templateSearcher: app.TemplateSearcher{
Client: &client.Fake{},
TemplateConfigsNamespacer: &client.Fake{},
Namespaces: []string{"openshift", "default"},
},
detector: app.SourceRepositoryEnumerator{
Detectors: source.DefaultDetectors,
Tester: dockerfile.NewTester(),
},
typer: kapi.Scheme,
osclient: &client.Fake{},
originNamespace: "default",
},
expected: map[string][]string{
"buildConfig": {"origin-base"},
"imageStream": {"origin-base"},
},
},
{
name: "unsuccessful build from dockerfile due to strategy conflict",
config: &AppConfig{
Dockerfile: "FROM openshift/origin-base\nUSER foo",
Strategy: "source",
typer: kapi.Scheme,
osclient: &client.Fake{},
originNamespace: "default",
},
expectedErr: func(err error) bool {
return err.Error() == "when directly referencing a Dockerfile, the strategy must must be 'docker'"
},
},
{
name: "unsuccessful build from dockerfile due to missing FROM instruction",
config: &AppConfig{
//.........这里部分代码省略.........
示例8: TestRunAll
func TestRunAll(t *testing.T) {
dockerSearcher := app.DockerRegistrySearcher{
Client: dockerregistry.NewClient(),
}
tests := []struct {
name string
config *AppConfig
expected map[string][]string
expectedName string
expectedErr error
expectInsecure sets.String
expectedVolumes map[string]string
checkPort string
}{
{
name: "successful ruby app generation",
config: &AppConfig{
SourceRepositories: util.StringList([]string{"https://github.com/openshift/ruby-hello-world"}),
dockerSearcher: fakeDockerSearcher(),
imageStreamSearcher: app.ImageStreamSearcher{
Client: &client.Fake{},
ImageStreamImages: &client.Fake{},
Namespaces: []string{"default"},
},
Strategy: "source",
imageStreamByAnnotationSearcher: app.NewImageStreamByAnnotationSearcher(&client.Fake{}, &client.Fake{}, []string{"default"}),
templateSearcher: app.TemplateSearcher{
Client: &client.Fake{},
TemplateConfigsNamespacer: &client.Fake{},
Namespaces: []string{"openshift", "default"},
},
detector: app.SourceRepositoryEnumerator{
Detectors: source.DefaultDetectors,
Tester: dockerfile.NewTester(),
},
typer: kapi.Scheme,
osclient: &client.Fake{},
originNamespace: "default",
},
expected: map[string][]string{
"imageStream": {"ruby-hello-world", "ruby"},
"buildConfig": {"ruby-hello-world"},
"deploymentConfig": {"ruby-hello-world"},
"service": {"ruby-hello-world"},
},
expectedName: "ruby-hello-world",
expectedVolumes: nil,
expectedErr: nil,
},
{
name: "successful ruby app generation with labels",
config: &AppConfig{
SourceRepositories: util.StringList([]string{"https://github.com/openshift/ruby-hello-world"}),
dockerSearcher: fakeDockerSearcher(),
imageStreamSearcher: app.ImageStreamSearcher{
Client: &client.Fake{},
ImageStreamImages: &client.Fake{},
Namespaces: []string{"default"},
},
Strategy: "source",
imageStreamByAnnotationSearcher: app.NewImageStreamByAnnotationSearcher(&client.Fake{}, &client.Fake{}, []string{"default"}),
templateSearcher: app.TemplateSearcher{
Client: &client.Fake{},
TemplateConfigsNamespacer: &client.Fake{},
Namespaces: []string{"openshift", "default"},
},
detector: app.SourceRepositoryEnumerator{
Detectors: source.DefaultDetectors,
Tester: dockerfile.NewTester(),
},
typer: kapi.Scheme,
osclient: &client.Fake{},
originNamespace: "default",
Labels: map[string]string{"label1": "value1", "label2": "value2"},
},
expected: map[string][]string{
"imageStream": {"ruby-hello-world", "ruby"},
"buildConfig": {"ruby-hello-world"},
"deploymentConfig": {"ruby-hello-world"},
"service": {"ruby-hello-world"},
},
expectedName: "ruby-hello-world",
expectedVolumes: nil,
expectedErr: nil,
},
{
name: "successful docker app generation",
config: &AppConfig{
SourceRepositories: util.StringList([]string{"https://github.com/openshift/ruby-hello-world"}),
dockerSearcher: fakeSimpleDockerSearcher(),
imageStreamSearcher: app.ImageStreamSearcher{
Client: &client.Fake{},
ImageStreamImages: &client.Fake{},
Namespaces: []string{"default"},
},
Strategy: "docker",
imageStreamByAnnotationSearcher: app.NewImageStreamByAnnotationSearcher(&client.Fake{}, &client.Fake{}, []string{"default"}),
//.........这里部分代码省略.........
示例9: TestAddArguments
func TestAddArguments(t *testing.T) {
tmpDir, err := ioutil.TempDir("", "test-newapp")
if err != nil {
t.Fatalf("Unexpected error: %v", err)
}
defer os.RemoveAll(tmpDir)
testDir := filepath.Join(tmpDir, "test/one/two/three")
err = os.MkdirAll(testDir, 0777)
if err != nil {
t.Fatalf("Unexpected error: %v", err)
}
tests := map[string]struct {
args []string
env util.StringList
parms util.StringList
repos util.StringList
components util.StringList
unknown []string
}{
"components": {
args: []string{"one", "two+three", "four~five"},
components: util.StringList([]string{"one", "two+three", "four~five"}),
unknown: []string{},
},
"source": {
args: []string{".", testDir, "git://server/repo.git"},
repos: util.StringList([]string{".", testDir, "git://server/repo.git"}),
unknown: []string{},
},
"env": {
args: []string{"first=one", "second=two", "third=three"},
env: util.StringList([]string{"first=one", "second=two", "third=three"}),
unknown: []string{},
},
"mix 1": {
args: []string{"git://server/repo.git", "[email protected]/repo.git", "env1=test", "ruby-helloworld-sample"},
repos: util.StringList([]string{"git://server/repo.git"}),
components: util.StringList([]string{"[email protected]/repo.git", "ruby-helloworld-sample"}),
env: util.StringList([]string{"env1=test"}),
unknown: []string{},
},
}
for n, c := range tests {
a := AppConfig{}
unknown := a.AddArguments(c.args)
if !reflect.DeepEqual(a.Environment, c.env) {
t.Errorf("%s: Different env variables. Expected: %v, Actual: %v", n, c.env, a.Environment)
}
if !reflect.DeepEqual(a.SourceRepositories, c.repos) {
t.Errorf("%s: Different source repos. Expected: %v, Actual: %v", n, c.repos, a.SourceRepositories)
}
if !reflect.DeepEqual(a.Components, c.components) {
t.Errorf("%s: Different components. Expected: %v, Actual: %v", n, c.components, a.Components)
}
if !reflect.DeepEqual(unknown, c.unknown) {
t.Errorf("%s: Different unknown result. Expected: %v, Actual: %v", n, c.unknown, unknown)
}
}
}
示例10: TestRunBuild
func TestRunBuild(t *testing.T) {
dockerSearcher := app.DockerRegistrySearcher{
Client: dockerregistry.NewClient(),
}
tests := []struct {
name string
config *AppConfig
expected map[string][]string
expectedErr error
}{
{
name: "successful ruby app generation",
config: &AppConfig{
SourceRepositories: util.StringList([]string{"https://github.com/openshift/ruby-hello-world"}),
DockerImages: util.StringList([]string{"openshift/ruby-20-centos7", "openshift/mongodb-24-centos7"}),
OutputDocker: true,
dockerSearcher: dockerSearcher,
imageStreamSearcher: app.ImageStreamSearcher{
Client: &client.Fake{},
ImageStreamImages: &client.Fake{},
Namespaces: []string{"default"},
},
imageStreamByAnnotationSearcher: &app.ImageStreamByAnnotationSearcher{
Client: &client.Fake{},
ImageStreamImages: &client.Fake{},
Namespaces: []string{"default"},
},
templateSearcher: app.TemplateSearcher{
Client: &client.Fake{},
TemplateConfigsNamespacer: &client.Fake{},
Namespaces: []string{"openshift", "default"},
},
detector: app.SourceRepositoryEnumerator{
Detectors: source.DefaultDetectors,
Tester: dockerfile.NewTester(),
},
typer: kapi.Scheme,
osclient: &client.Fake{},
originNamespace: "default",
},
expected: map[string][]string{
"buildConfig": {"ruby-hello-world"},
"imageStream": {"ruby-20-centos7"},
},
expectedErr: nil,
},
}
for _, test := range tests {
test.config.refBuilder = &app.ReferenceBuilder{}
res, err := test.config.RunBuilds(os.Stdout, os.Stderr)
if err != test.expectedErr {
t.Errorf("%s: Error mismatch! Expected %v, got %v", test.name, test.expectedErr, err)
continue
}
got := map[string][]string{}
for _, obj := range res.List.Items {
switch tp := obj.(type) {
case *buildapi.BuildConfig:
got["buildConfig"] = append(got["buildConfig"], tp.Name)
case *imageapi.ImageStream:
got["imageStream"] = append(got["imageStream"], tp.Name)
}
}
if len(test.expected) != len(got) {
t.Errorf("%s: Resource kind size mismatch! Expected %d, got %d", test.name, len(test.expected), len(got))
continue
}
for k, exp := range test.expected {
g, ok := got[k]
if !ok {
t.Errorf("%s: Didn't find expected kind %s", test.name, k)
}
sort.Strings(g)
sort.Strings(exp)
if !reflect.DeepEqual(g, exp) {
t.Errorf("%s: Resource names mismatch! Expected %v, got %v", test.name, exp, g)
continue
}
}
}
}