Skip to content

Commit

Permalink
test(cli/ovpm): add user tests
Browse files Browse the repository at this point in the history
  • Loading branch information
cad committed Oct 17, 2017
1 parent 998bdac commit 52134fe
Show file tree
Hide file tree
Showing 2 changed files with 136 additions and 6 deletions.
12 changes: 6 additions & 6 deletions bindata/bindata.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

130 changes: 130 additions & 0 deletions cmd/ovpm/user_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,133 @@ func TestUserCmd(t *testing.T) {
t.Fatal("subcommand missing 'update, u'")
}
}

func TestUserCreateCmd(t *testing.T) {
app := NewApp()

output := new(bytes.Buffer)
app.Writer = output

var err error

// Empty call
err = app.Run([]string{"ovpm", "user", "create"})
if err == nil {
t.Fatal("error is expected about missing fields, but we didn't got error")
}

// Missing password
err = app.Run([]string{"ovpm", "user", "create", "--username", "sad"})
if err == nil {
t.Fatal("error is expected about missing password, but we didn't got error")
}

// Missing username
err = app.Run([]string{"ovpm", "user", "create", "--password", "sad"})
if err == nil {
t.Fatal("error is expected about missing password, but we didn't got error")
}

// Malformed static ip
err = app.Run([]string{"ovpm", "user", "create", "--username", "sad", "--password", "asdf", "--static", "asdf"})
if err == nil {
t.Fatal("error is expected about malformed static ip, but we didn't got error")
}

// Ensure proper static ip
err = app.Run([]string{"ovpm", "user", "create", "--username", "adsf", "--password", "1234", "--static", "10.9.0.4"})
if err != nil && !strings.Contains(err.Error(), "grpc") {
t.Fatalf("error is not expected: %v", err)
}

// Ensure username chars
err = app.Run([]string{"ovpm", "user", "create", "--username", "sdafADSFasdf325235.dsafsaf-asdffdsa_h5223s", "--password", "1234", "--static", "10.9.0.4"})
if err != nil && !strings.Contains(err.Error(), "grpc") {
t.Fatalf("error is not expected: %v", err)
}

}

func TestUserUpdateCmd(t *testing.T) {
app := NewApp()

output := new(bytes.Buffer)
app.Writer = output

var err error

// Empty call
err = app.Run([]string{"ovpm", "user", "update"})
if err == nil {
t.Fatal("error is expected about missing fields, but we didn't got error")
}

// Ensure missing fields
err = app.Run([]string{"ovpm", "user", "update", "--username", "foobar"})
if err == nil {
t.Fatal("error is expected about missing fields, but we didn't got error")
}

// Mix gw with no-gw
err = app.Run([]string{"ovpm", "user", "update", "--no-gw", "--gw"})
if err == nil {
t.Fatal("error is expected about gw mutually exclusivity, but we didn't got error")
}

// Mix admin with no-admin
err = app.Run([]string{"ovpm", "user", "update", "--admin", "--no-admin"})
if err == nil {
t.Fatal("error is expected about admin mutually exclusivity, but we didn't got error")
}

// Malformed static
err = app.Run([]string{"ovpm", "user", "update", "--username", "foo", "--static", "sadfsadf"})
if err == nil {
t.Fatal("error is expected about static being malformed ip, but we didn't got error")
}
}

func TestUserDeleteCmd(t *testing.T) {
app := NewApp()

output := new(bytes.Buffer)
app.Writer = output

var err error

// Empty call
err = app.Run([]string{"ovpm", "user", "delete"})
if err == nil {
t.Fatal("error is expected about missing fields, but we didn't got error")
}
}

func TestUserRenewCmd(t *testing.T) {
app := NewApp()

output := new(bytes.Buffer)
app.Writer = output

var err error

// Empty call
err = app.Run([]string{"ovpm", "user", "renew"})
if err == nil {
t.Fatal("error is expected about missing fields, but we didn't got error")
}
}

func TestUserGenconfigCmd(t *testing.T) {
app := NewApp()

output := new(bytes.Buffer)
app.Writer = output

var err error

// Empty call
err = app.Run([]string{"ovpm", "user", "delete"})
if err == nil {
t.Fatal("error is expected about missing fields, but we didn't got error")
}
}

0 comments on commit 52134fe

Please sign in to comment.