Skip to content

Commit

Permalink
Add tests for granting/revoking admin privilege
Browse files Browse the repository at this point in the history
  • Loading branch information
gunnaraasen committed Jul 6, 2015
1 parent fb0c5a1 commit c041a9f
Showing 1 changed file with 42 additions and 0 deletions.
42 changes: 42 additions & 0 deletions meta/statement_executor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,27 @@ func TestStatementExecutor_ExecuteStatement_Grant_Err(t *testing.T) {
}
}

// Ensure a GRANT statement for admin privilege can be executed.
func TestStatementExecutor_ExecuteStatement_Grant_Admin(t *testing.T) {
e := NewStatementExecutor()
e.Store.SetPrivilegeFn = func(username, database string, p influxql.Privilege) error {
if username != "susy" {
t.Fatalf("unexpected username: %s", username)
} else if database != "" {
t.Fatalf("unexpected database: %s", database)
} else if p != influxql.AllPrivileges {
t.Fatalf("unexpected privilege: %s", p)
}
return nil
}

if res := e.ExecuteStatement(influxql.MustParseStatement(`GRANT ALL TO susy`)); res.Err != nil {
t.Fatal(res.Err)
} else if res.Series != nil {
t.Fatalf("unexpected rows: %#v", res.Series)
}
}

// Ensure a REVOKE statement can be executed.
func TestStatementExecutor_ExecuteStatement_Revoke(t *testing.T) {
e := NewStatementExecutor()
Expand Down Expand Up @@ -345,6 +366,27 @@ func TestStatementExecutor_ExecuteStatement_Revoke_Err(t *testing.T) {
}
}

// Ensure a REVOKE statement for admin privilege can be executed.
func TestStatementExecutor_ExecuteStatement_Revoke_Admin(t *testing.T) {
e := NewStatementExecutor()
e.Store.SetPrivilegeFn = func(username, database string, p influxql.Privilege) error {
if username != "susy" {
t.Fatalf("unexpected username: %s", username)
} else if database != "" {
t.Fatalf("unexpected database: %s", database)
} else if p != influxql.NoPrivileges {
t.Fatalf("unexpected privilege: %s", p)
}
return nil
}

if res := e.ExecuteStatement(influxql.MustParseStatement(`REVOKE ALL PRIVILEGES FROM susy`)); res.Err != nil {
t.Fatal(res.Err)
} else if res.Series != nil {
t.Fatalf("unexpected rows: %#v", res.Series)
}
}

// Ensure a CREATE RETENTION POLICY statement can be executed.
func TestStatementExecutor_ExecuteStatement_CreateRetentionPolicy(t *testing.T) {
e := NewStatementExecutor()
Expand Down

0 comments on commit c041a9f

Please sign in to comment.