Merge pull request #11 from scjalliance/master

Added NewConnWithUser to allow users other than the default

Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
This commit is contained in:
Noah Watkins 2015-02-22 13:19:38 -08:00
commit f5802b762b
2 changed files with 22 additions and 0 deletions

View File

@ -7,6 +7,7 @@ import "C"
import (
"fmt"
"unsafe"
)
type RadosError int
@ -35,3 +36,19 @@ func NewConn() (*Conn, error) {
return nil, RadosError(int(ret))
}
}
// NewConnWithUser creates a new connection object with a custom username.
// It returns the connection and an error, if any.
func NewConnWithUser(user string) (*Conn, error) {
c_user := C.CString(user)
defer C.free(unsafe.Pointer(c_user))
conn := &Conn{}
ret := C.rados_create(&conn.cluster, c_user)
if ret == 0 {
return conn, nil
} else {
return nil, RadosError(int(ret))
}
}

View File

@ -436,3 +436,8 @@ func TestObjectIterator(t *testing.T) {
assert.Equal(t, objectList, createdList)
}
func TestNewConnWithUser(t *testing.T) {
_, err := rados.NewConnWithUser("admin")
assert.Equal(t, err, nil)
}