Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
7c198bc
Refactoring
andreaangiolillo Apr 29, 2020
1dacaa0
Merge remote-tracking branch 'origin/master'
andreaangiolillo Apr 29, 2020
39b30ca
Merge remote-tracking branch 'origin/master'
andreaangiolillo Apr 29, 2020
861d88e
Merge remote-tracking branch 'origin/master'
andreaangiolillo Apr 30, 2020
a1ba80a
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 5, 2020
658d057
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 5, 2020
5927427
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 7, 2020
6fffc8c
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 7, 2020
b0da6c5
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 8, 2020
08b90d3
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 8, 2020
8904b24
Merge remote-tracking branch 'origin'
andreaangiolillo May 8, 2020
247a32e
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 14, 2020
7c7cfed
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 18, 2020
0e694ef
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 18, 2020
5471ee3
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 18, 2020
111282a
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 18, 2020
ad6e2aa
Merge remote-tracking branch 'origin/master'
andreaangiolillo May 18, 2020
aee207f
CLOUDP-62814: add DBUsers e2e test - cloud manager
andreaangiolillo May 18, 2020
40e3579
Refactoring
andreaangiolillo May 18, 2020
e3dc050
Updated e2e test
andreaangiolillo May 18, 2020
cc31c1d
Refactoring
andreaangiolillo May 18, 2020
6de6fa4
Updated e2e test
andreaangiolillo May 19, 2020
80b2d35
Merge remote-tracking branch 'origin/master' into CLOUDP-62814
andreaangiolillo May 19, 2020
9436cc8
Addressed PR comments
andreaangiolillo May 19, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions e2e/atlas/dbusers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,13 @@ func TestAtlasDBUsers(t *testing.T) {
if err != nil {
t.Fatalf("unexpected error: %v, resp: %v", err, string(resp))
}

users := []mongodbatlas.DatabaseUser{}
err = json.Unmarshal(resp, &users)

if len(users) == 0 {
t.Fatalf("expected len(users) > 0, got 0")
}
})

t.Run("Update", func(t *testing.T) {
Expand Down
106 changes: 106 additions & 0 deletions e2e/cloud_manager/dbusers_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
// Copyright 2020 MongoDB Inc
//
// Licensed 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.
// +build e2e

package cloud_manager_test

import (
"encoding/json"
"fmt"
"math/rand"
"os"
"os/exec"
"path/filepath"
"strings"
"testing"
"time"

"github.com/mongodb/go-client-mongodb-atlas/mongodbatlas"
)

const (
roleReadWrite = "readWrite"
)

func TestCloudManagerDBUsers(t *testing.T) {
cliPath, err := filepath.Abs("../../bin/mongocli")
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
_, err = os.Stat(cliPath)

if err != nil {
t.Fatalf("unexpected error: %v", err)
}

r := rand.New(rand.NewSource(time.Now().UnixNano()))

entity := "cloud-manager"
dbusersEntity := "dbusers"
username := fmt.Sprintf("user-%v", r.Uint32())

t.Run("Create", func(t *testing.T) {
cmd := exec.Command(cliPath,
entity,
dbusersEntity,
"create",
"--username="+username,
"--password=passW0rd",
"--role=readWriteAnyDatabase",
"--mechanisms=SCRAM-SHA-256 ")
cmd.Env = os.Environ()
resp, err := cmd.CombinedOutput()

if err != nil {
t.Fatalf("unexpected error: %v, resp: %v", err, string(resp))
}

if !strings.Contains(string(resp), "Changes are being applied") {
t.Errorf("got=%#v\nwant=%#v\n", string(resp), "Changes are being applied")
}
})

t.Run("List", func(t *testing.T) {
cmd := exec.Command(cliPath, entity, dbusersEntity, "ls")
cmd.Env = os.Environ()
resp, err := cmd.CombinedOutput()

if err != nil {
t.Fatalf("unexpected error: %v, resp: %v", err, string(resp))
}

users := []mongodbatlas.DatabaseUser{}
err = json.Unmarshal(resp, &users)

if len(users) == 0 {
t.Fatalf("expected len(users) > 0, got 0")
}

})

t.Run("Delete", func(t *testing.T) {
cmd := exec.Command(cliPath, entity, dbusersEntity, "delete", username, "--force", "--authDB", "admin")
cmd.Env = os.Environ()
resp, err := cmd.CombinedOutput()

if err != nil {
t.Fatalf("unexpected error: %v, resp: %v", err, string(resp))
}

if !strings.Contains(string(resp), "Changes are being applied") {
t.Errorf("got=%#v\nwant=%#v\n", string(resp), "Changes are being applied")
}
})

}
2 changes: 1 addition & 1 deletion internal/cli/ops_manager_dbusers_create.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ func OpsManagerDBUsersCreateBuilder() *cobra.Command {
cmd := &cobra.Command{
Use: "create",
Short: description.CreateDBUser,
Example: ` mongocli om dbuser create --username User1 --password passW0rd --role readWriteAnyDatabase,clusterMonitor --mechanisms SCRAM-SHA-256 --projectId <>`,
Example: `mongocli om dbuser create --username User1 --password passW0rd --role readWriteAnyDatabase,clusterMonitor --mechanisms SCRAM-SHA-256 --projectId <>`,
Args: cobra.NoArgs,
PreRunE: func(cmd *cobra.Command, args []string) error {
if err := opts.PreRunE(opts.initStore); err != nil {
Expand Down