| // Licensed to the Apache Software Foundation (ASF) under one or more |
| // contributor license agreements. See the NOTICE file distributed with |
| // this work for additional information regarding copyright ownership. |
| // The ASF licenses this file to You under the Apache License, Version 2.0 |
| // (the "License"); you may not use this file except in compliance with |
| // the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package environment |
| |
| import ( |
| "fmt" |
| "reflect" |
| "testing" |
| "time" |
| ) |
| |
| func TestNetworkEnvs_Address(t *testing.T) { |
| type fields struct { |
| ip string |
| port int |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want string |
| }{ |
| { |
| name: "Ip and port concatenated through ':'", |
| fields: fields{ip: defaultIp, port: defaultPort}, |
| want: fmt.Sprintf("%s:%d", defaultIp, defaultPort), |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| serverEnvs := NetworkEnvs{ |
| ip: tt.fields.ip, |
| port: tt.fields.port, |
| } |
| if got := serverEnvs.Address(); got != tt.want { |
| t.Errorf("Address() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |
| |
| func TestCacheEnvs_CacheType(t *testing.T) { |
| type fields struct { |
| cacheType string |
| address string |
| keyExpirationTime time.Duration |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want string |
| }{ |
| { |
| name: "Get cache type", |
| fields: fields{ |
| cacheType: "MOCK_CACHE_TYPE", |
| address: "MOCK_ADDRESS", |
| keyExpirationTime: 0, |
| }, |
| want: "MOCK_CACHE_TYPE", |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| ce := &CacheEnvs{ |
| cacheType: tt.fields.cacheType, |
| address: tt.fields.address, |
| keyExpirationTime: tt.fields.keyExpirationTime, |
| } |
| if got := ce.CacheType(); got != tt.want { |
| t.Errorf("CacheType() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |
| |
| func TestCacheEnvs_Address(t *testing.T) { |
| type fields struct { |
| cacheType string |
| address string |
| keyExpirationTime time.Duration |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want string |
| }{ |
| { |
| name: "Get cache address", |
| fields: fields{ |
| cacheType: "MOCK_CACHE_TYPE", |
| address: "MOCK_ADDRESS", |
| keyExpirationTime: 0, |
| }, |
| want: "MOCK_ADDRESS", |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| ce := &CacheEnvs{ |
| cacheType: tt.fields.cacheType, |
| address: tt.fields.address, |
| keyExpirationTime: tt.fields.keyExpirationTime, |
| } |
| if got := ce.Address(); got != tt.want { |
| t.Errorf("Address() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |
| |
| func TestCacheEnvs_KeyExpirationTime(t *testing.T) { |
| type fields struct { |
| cacheType string |
| address string |
| keyExpirationTime time.Duration |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want time.Duration |
| }{ |
| { |
| name: "Get expiration time for cache keys", |
| fields: fields{ |
| cacheType: "MOCK_CACHE_TYPE", |
| address: "MOCK_ADDRESS", |
| keyExpirationTime: 0, |
| }, |
| want: 0, |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| ce := &CacheEnvs{ |
| cacheType: tt.fields.cacheType, |
| address: tt.fields.address, |
| keyExpirationTime: tt.fields.keyExpirationTime, |
| } |
| if got := ce.KeyExpirationTime(); got != tt.want { |
| t.Errorf("KeyExpirationTime() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |
| |
| func TestApplicationEnvs_WorkingDir(t *testing.T) { |
| type fields struct { |
| workingDir string |
| cacheEnvs *CacheEnvs |
| pipelineExecuteTimeout time.Duration |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want string |
| }{ |
| { |
| name: "Get working directory", |
| fields: fields{ |
| workingDir: "MOCK_WORKING_DIR", |
| cacheEnvs: &CacheEnvs{}, |
| pipelineExecuteTimeout: 0, |
| }, |
| want: "MOCK_WORKING_DIR", |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| ae := &ApplicationEnvs{ |
| workingDir: tt.fields.workingDir, |
| cacheEnvs: tt.fields.cacheEnvs, |
| pipelineExecuteTimeout: tt.fields.pipelineExecuteTimeout, |
| } |
| if got := ae.WorkingDir(); got != tt.want { |
| t.Errorf("WorkingDir() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |
| |
| func TestApplicationEnvs_CacheEnvs(t *testing.T) { |
| type fields struct { |
| workingDir string |
| cacheEnvs *CacheEnvs |
| pipelineExecuteTimeout time.Duration |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want *CacheEnvs |
| }{ |
| { |
| name: "Get cache environment variables", |
| fields: fields{ |
| workingDir: "MOCK_WORKING_DIR", |
| cacheEnvs: &CacheEnvs{}, |
| pipelineExecuteTimeout: 0, |
| }, |
| want: &CacheEnvs{}, |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| ae := &ApplicationEnvs{ |
| workingDir: tt.fields.workingDir, |
| cacheEnvs: tt.fields.cacheEnvs, |
| pipelineExecuteTimeout: tt.fields.pipelineExecuteTimeout, |
| } |
| if got := ae.CacheEnvs(); !reflect.DeepEqual(got, tt.want) { |
| t.Errorf("CacheEnvs() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |
| |
| func TestApplicationEnvs_PipelineExecuteTimeout(t *testing.T) { |
| type fields struct { |
| workingDir string |
| cacheEnvs *CacheEnvs |
| pipelineExecuteTimeout time.Duration |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want time.Duration |
| }{ |
| { |
| name: "Get pipeline execute timeout", |
| fields: fields{ |
| workingDir: "MOCK_WORKING_DIR", |
| cacheEnvs: &CacheEnvs{}, |
| pipelineExecuteTimeout: 0, |
| }, |
| want: 0, |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| ae := &ApplicationEnvs{ |
| workingDir: tt.fields.workingDir, |
| cacheEnvs: tt.fields.cacheEnvs, |
| pipelineExecuteTimeout: tt.fields.pipelineExecuteTimeout, |
| } |
| if got := ae.PipelineExecuteTimeout(); got != tt.want { |
| t.Errorf("PipelineExecuteTimeout() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |
| |
| func TestApplicationEnvs_LaunchSite(t *testing.T) { |
| type fields struct { |
| workingDir string |
| cacheEnvs *CacheEnvs |
| pipelineExecuteTimeout time.Duration |
| launchSite string |
| googleProjectId string |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want string |
| }{ |
| { |
| // Test case with calling LaunchSite method. |
| // As a result, want to receive an expected launch site. |
| name: "Get launch site", |
| fields: fields{ |
| workingDir: "", |
| cacheEnvs: &CacheEnvs{}, |
| pipelineExecuteTimeout: 0, |
| launchSite: "local", |
| }, |
| want: "local", |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| ae := &ApplicationEnvs{ |
| workingDir: tt.fields.workingDir, |
| cacheEnvs: tt.fields.cacheEnvs, |
| pipelineExecuteTimeout: tt.fields.pipelineExecuteTimeout, |
| launchSite: tt.fields.launchSite, |
| projectId: tt.fields.googleProjectId, |
| } |
| if got := ae.LaunchSite(); got != tt.want { |
| t.Errorf("LaunchSite() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |
| |
| func TestApplicationEnvs_GoogleProjectId(t *testing.T) { |
| type fields struct { |
| workingDir string |
| cacheEnvs *CacheEnvs |
| pipelineExecuteTimeout time.Duration |
| googleProjectId string |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want string |
| }{ |
| { |
| // Test case with calling GoogleProjectId method. |
| // As a result, want to receive an expected project id. |
| name: "Get google project id", |
| fields: fields{ |
| workingDir: "", |
| cacheEnvs: &CacheEnvs{}, |
| pipelineExecuteTimeout: 0, |
| googleProjectId: "MOCK_GOOGLE_PROJECT_ID", |
| }, |
| want: "MOCK_GOOGLE_PROJECT_ID", |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| ae := &ApplicationEnvs{ |
| workingDir: tt.fields.workingDir, |
| cacheEnvs: tt.fields.cacheEnvs, |
| pipelineExecuteTimeout: tt.fields.pipelineExecuteTimeout, |
| projectId: tt.fields.googleProjectId, |
| } |
| if got := ae.GoogleProjectId(); got != tt.want { |
| t.Errorf("GoogleProjectId() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |
| |
| func TestApplicationEnvs_PipelinesFolder(t *testing.T) { |
| type fields struct { |
| workingDir string |
| cacheEnvs *CacheEnvs |
| pipelineExecuteTimeout time.Duration |
| pipelinesFolder string |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want string |
| }{ |
| { |
| // Test case with calling PipelinesFolder method. |
| // As a result, want to receive an expected name of pipelines folder. |
| name: "Get name of pipeline folder", |
| fields: fields{ |
| workingDir: "", |
| cacheEnvs: &CacheEnvs{}, |
| pipelineExecuteTimeout: 0, |
| pipelinesFolder: "MOCK_PIPELINES_FOLDER", |
| }, |
| want: "MOCK_PIPELINES_FOLDER", |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| ae := &ApplicationEnvs{ |
| workingDir: tt.fields.workingDir, |
| cacheEnvs: tt.fields.cacheEnvs, |
| pipelineExecuteTimeout: tt.fields.pipelineExecuteTimeout, |
| pipelinesFolder: tt.fields.pipelinesFolder, |
| } |
| if got := ae.PipelinesFolder(); got != tt.want { |
| t.Errorf("PipelinesFolder() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |
| |
| func TestNetworkEnvs_Protocol(t *testing.T) { |
| protocol := "HTTP" |
| type fields struct { |
| ip string |
| port int |
| protocol string |
| } |
| tests := []struct { |
| name string |
| fields fields |
| want string |
| }{ |
| { |
| name: "Get server protocol", |
| fields: fields{ |
| ip: "", |
| port: 0, |
| protocol: protocol, |
| }, |
| want: protocol, |
| }, |
| } |
| for _, tt := range tests { |
| t.Run(tt.name, func(t *testing.T) { |
| serverEnvs := &NetworkEnvs{ |
| ip: tt.fields.ip, |
| port: tt.fields.port, |
| protocol: tt.fields.protocol, |
| } |
| if got := serverEnvs.Protocol(); got != tt.want { |
| t.Errorf("Protocol() = %v, want %v", got, tt.want) |
| } |
| }) |
| } |
| } |