Skip to content

Commit ed37cda

Browse files
replic arange format and regex verification for serviceID in service.… (#1528)
1 parent 6779fcc commit ed37cda

File tree

4 files changed

+32
-20
lines changed

4 files changed

+32
-20
lines changed

space-cli/cmd/modules/addons/database.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func addDatabase(chartReleaseName, dbType, setValuesFlag, valuesYamlFile, chartL
2626
}
2727

2828
// The regex stratifies kubernetes resource name specification
29-
var validID = regexp.MustCompile(`[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*`)
29+
var validID = regexp.MustCompile(`^(([a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])\.)*([a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])$`)
3030
if !validID.MatchString(chartReleaseName) {
3131
return fmt.Errorf(`invalid name for database: (%s): a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'`, chartReleaseName)
3232
}

space-cli/cmd/modules/deploy/commands.go

+2-5
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,8 @@ func Commands() []*cobra.Command {
4848
}
4949

5050
func actionDeploy(cmd *cobra.Command, args []string) error {
51-
projectID, check := utils.GetProjectID()
52-
if !check {
53-
_ = utils.LogError("Project not specified in flag", nil)
54-
return nil
55-
}
51+
projectID, _ := utils.GetProjectID()
52+
5653
dockerFilePath := viper.GetString("docker-file")
5754
dockerImage := viper.GetString("image-name")
5855
serviceFilePath := viper.GetString("service-file")

space-cli/cmd/modules/services/generate.go

+19-4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package services
22

33
import (
44
"fmt"
5+
"regexp"
56
"strconv"
67
"strings"
78

@@ -22,8 +23,15 @@ func GenerateService(projectID, dockerImage string) (*model.SpecObject, error) {
2223
}
2324

2425
serviceID := ""
25-
if err := input.Survey.AskOne(&survey.Input{Message: "Enter Service ID"}, &serviceID); err != nil {
26-
return nil, err
26+
for {
27+
if err := input.Survey.AskOne(&survey.Input{Message: "Enter Service ID"}, &serviceID); err != nil {
28+
return nil, err
29+
}
30+
var validID = regexp.MustCompile(`^(([a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])\.)*([a-z0-9]|[a-z0-9][a-z0-9\-]*[a-z0-9])$`)
31+
if validID.MatchString(serviceID) {
32+
break
33+
}
34+
fmt.Printf(`invalid name for serviceID: (%s): a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character (e.g. 'example.com', regex used for validation is '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'`, serviceID)
2735
}
2836

2937
serviceVersion := ""
@@ -78,8 +86,15 @@ func GenerateService(projectID, dockerImage string) (*model.SpecObject, error) {
7886
}
7987

8088
replicaRange := ""
81-
if err := input.Survey.AskOne(&survey.Input{Message: "Enter Replica Range", Default: "1-100"}, &replicaRange); err != nil {
82-
return nil, err
89+
for {
90+
if err := input.Survey.AskOne(&survey.Input{Message: "Enter Replica Range", Default: "1-100"}, &replicaRange); err != nil {
91+
return nil, err
92+
}
93+
arr1 := strings.Split(replicaRange, "-")
94+
if len(arr1) == 2 {
95+
break
96+
}
97+
fmt.Println("Replica Range format should be lowerLimit-upperLimit (e.g. 1-100).")
8398
}
8499
replicaMin, replicaMax := 1, 100
85100
arr := strings.Split(replicaRange, "-")

space-cli/cmd/modules/services/generate_test.go

+10-10
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ func TestGenerateService(t *testing.T) {
7171
{
7272
method: "AskOne",
7373
args: []interface{}{&survey.Input{Message: "Enter Service ID"}, &surveyReturnValue, mock.Anything},
74-
paramsReturned: []interface{}{nil, ""},
74+
paramsReturned: []interface{}{nil, "basic"},
7575
},
7676
{
7777
method: "AskOne",
@@ -88,7 +88,7 @@ func TestGenerateService(t *testing.T) {
8888
{
8989
method: "AskOne",
9090
args: []interface{}{&survey.Input{Message: "Enter Service ID"}, &surveyReturnValue, mock.Anything},
91-
paramsReturned: []interface{}{nil, ""},
91+
paramsReturned: []interface{}{nil, "basic"},
9292
},
9393
{
9494
method: "AskOne",
@@ -110,7 +110,7 @@ func TestGenerateService(t *testing.T) {
110110
{
111111
method: "AskOne",
112112
args: []interface{}{&survey.Input{Message: "Enter Service ID"}, &surveyReturnValue, mock.Anything},
113-
paramsReturned: []interface{}{nil, ""},
113+
paramsReturned: []interface{}{nil, "basic"},
114114
},
115115
{
116116
method: "AskOne",
@@ -153,7 +153,7 @@ func TestGenerateService(t *testing.T) {
153153
{
154154
method: "AskOne",
155155
args: []interface{}{&survey.Input{Message: "Enter Service ID"}, &surveyReturnValue, mock.Anything},
156-
paramsReturned: []interface{}{nil, ""},
156+
paramsReturned: []interface{}{nil, "basic"},
157157
},
158158
{
159159
method: "AskOne",
@@ -180,7 +180,7 @@ func TestGenerateService(t *testing.T) {
180180
{
181181
method: "AskOne",
182182
args: []interface{}{&survey.Input{Message: "Enter Service ID"}, &surveyReturnValue, mock.Anything},
183-
paramsReturned: []interface{}{nil, ""},
183+
paramsReturned: []interface{}{nil, "basic"},
184184
},
185185
{
186186
method: "AskOne",
@@ -212,7 +212,7 @@ func TestGenerateService(t *testing.T) {
212212
{
213213
method: "AskOne",
214214
args: []interface{}{&survey.Input{Message: "Enter Service ID"}, &surveyReturnValue, mock.Anything},
215-
paramsReturned: []interface{}{nil, ""},
215+
paramsReturned: []interface{}{nil, "basic"},
216216
},
217217
{
218218
method: "AskOne",
@@ -244,7 +244,7 @@ func TestGenerateService(t *testing.T) {
244244
{
245245
method: "AskOne",
246246
args: []interface{}{&survey.Input{Message: "Enter Service ID"}, &surveyReturnValue, mock.Anything},
247-
paramsReturned: []interface{}{nil, ""},
247+
paramsReturned: []interface{}{nil, "basic"},
248248
},
249249
{
250250
method: "AskOne",
@@ -281,7 +281,7 @@ func TestGenerateService(t *testing.T) {
281281
{
282282
method: "AskOne",
283283
args: []interface{}{&survey.Input{Message: "Enter Service ID"}, &surveyReturnValue, mock.Anything},
284-
paramsReturned: []interface{}{nil, ""},
284+
paramsReturned: []interface{}{nil, "basic"},
285285
},
286286
{
287287
method: "AskOne",
@@ -323,7 +323,7 @@ func TestGenerateService(t *testing.T) {
323323
{
324324
method: "AskOne",
325325
args: []interface{}{&survey.Input{Message: "Enter Service ID"}, &surveyReturnValue, mock.Anything},
326-
paramsReturned: []interface{}{nil, ""},
326+
paramsReturned: []interface{}{nil, "basic"},
327327
},
328328
{
329329
method: "AskOne",
@@ -365,7 +365,7 @@ func TestGenerateService(t *testing.T) {
365365
{
366366
method: "AskOne",
367367
args: []interface{}{&survey.Input{Message: "Enter Service ID"}, &surveyReturnValue, mock.Anything},
368-
paramsReturned: []interface{}{nil, ""},
368+
paramsReturned: []interface{}{nil, "basic"},
369369
},
370370
{
371371
method: "AskOne",

0 commit comments

Comments
 (0)