You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
minio/pkg/utils/config/config_test.go

60 lines
1.3 KiB

package config
import (
"os"
"path"
"sync"
"testing"
"github.com/minio-io/minio/pkg/utils/crypto/keys"
"github.com/minio-io/minio/pkg/utils/helpers"
. "gopkg.in/check.v1"
)
type MySuite struct{}
var _ = Suite(&MySuite{})
func Test(t *testing.T) { TestingT(t) }
func (s *MySuite) TestConfig(c *C) {
conf := Config{}
conf.configPath, _ = helpers.MakeTempTestDir()
defer os.RemoveAll(conf.configPath)
conf.configFile = path.Join(conf.configPath, "config.json")
if _, err := os.Stat(conf.configFile); os.IsNotExist(err) {
_, err = os.Create(conf.configFile)
if err != nil {
c.Fatal(err)
}
}
conf.configLock = new(sync.RWMutex)
accesskey, _ := keys.GetRandomAlphaNumeric(keys.MINIO_ACCESS_ID)
secretkey, _ := keys.GetRandomBase64(keys.MINIO_SECRET_ID)
user := User{
Name: "gnubot",
AccessKey: string(accesskey),
SecretKey: string(secretkey),
}
conf.AddUser(user)
err := conf.WriteConfig()
c.Assert(err, IsNil)
err = conf.ReadConfig()
c.Assert(err, IsNil)
accesskey, _ = keys.GetRandomAlphaNumeric(keys.MINIO_ACCESS_ID)
secretkey, _ = keys.GetRandomBase64(keys.MINIO_SECRET_ID)
user = User{
Name: "minio",
AccessKey: string(accesskey),
SecretKey: string(secretkey),
}
conf.AddUser(user)
err = conf.WriteConfig()
c.Assert(err, IsNil)
}