47 lines
854 B
Go
47 lines
854 B
Go
// Copyright 2024 Matthew Rich <matthewrich.conf@gmail.com>. All rights reserved.
|
|
package resource
|
|
|
|
import (
|
|
_ "fmt"
|
|
_ "context"
|
|
"testing"
|
|
_ "net/http"
|
|
_ "net/http/httptest"
|
|
_ "net/url"
|
|
_ "io"
|
|
_ "os"
|
|
"github.com/stretchr/testify/assert"
|
|
_ "encoding/json"
|
|
_ "strings"
|
|
)
|
|
|
|
func TestNewUserResource(t *testing.T) {
|
|
u := NewUser()
|
|
assert.NotEqual(t, nil, u)
|
|
}
|
|
|
|
func TestCreateUser(t *testing.T) {
|
|
decl := `
|
|
name: "testuser"
|
|
uid: 12001
|
|
gid: 12001
|
|
home: "/home/testuser"
|
|
state: present
|
|
`
|
|
u := NewUser()
|
|
e := u.LoadDecl(decl)
|
|
assert.Equal(t, nil, e)
|
|
assert.Equal(t, "testuser", u.Name)
|
|
|
|
applyErr := u.Apply()
|
|
assert.Equal(t, nil, applyErr)
|
|
uid, uidErr := LookupUID(u.Name)
|
|
assert.Equal(t, nil, uidErr)
|
|
assert.Equal(t, 12001, uid)
|
|
|
|
u.State = "absent"
|
|
|
|
applyDeleteErr := u.Apply()
|
|
assert.Equal(t, nil, applyDeleteErr)
|
|
}
|