diff --git a/pkg/s3/controllerserver.go b/pkg/s3/controllerserver.go index 6bfca9b..8b2f4bc 100644 --- a/pkg/s3/controllerserver.go +++ b/pkg/s3/controllerserver.go @@ -78,7 +78,7 @@ func (cs *controllerServer) CreateVolume(ctx context.Context, req *csi.CreateVol return &csi.CreateVolumeResponse{ Volume: &csi.Volume{ Id: volumeID, - CapacityBytes: 0, + CapacityBytes: 1, Attributes: req.GetParameters(), }, }, nil diff --git a/pkg/s3/s3-driver_suite_test.go b/pkg/s3/s3-driver_suite_test.go new file mode 100644 index 0000000..47b3ce6 --- /dev/null +++ b/pkg/s3/s3-driver_suite_test.go @@ -0,0 +1,116 @@ +package s3_test + +import ( + "io/ioutil" + "log" + "os" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + + "github.com/ctrox/csi-s3-driver/pkg/s3" + "github.com/kubernetes-csi/csi-test/pkg/sanity" +) + +const () + +var _ = Describe("S3Driver", func() { + mntDir, err := ioutil.TempDir("", "mnt") + if err != nil { + Expect(err).NotTo(HaveOccurred()) + } + + AfterSuite(func() { + os.RemoveAll(mntDir) + }) + + Context("goofys", func() { + socket := "/tmp/csi-goofys.sock" + csiEndpoint := "unix://" + socket + cfg := &s3.Config{ + AccessKeyID: "FJDSJ", + SecretAccessKey: "DSG643HGDS", + Endpoint: "http://127.0.0.1:9000", + Mounter: "goofys", + } + if err := os.Remove(socket); err != nil && !os.IsNotExist(err) { + Expect(err).NotTo(HaveOccurred()) + } + driver, err := s3.NewS3("test-node", csiEndpoint, cfg) + if err != nil { + log.Fatal(err) + } + go driver.Run() + + Describe("CSI sanity", func() { + sanityCfg := &sanity.Config{ + TargetPath: mntDir, + Address: csiEndpoint, + TestVolumeSize: 1, + } + sanity.GinkgoTest(sanityCfg) + }) + }) + + Context("s3fs", func() { + socket := "/tmp/csi-s3fs.sock" + csiEndpoint := "unix://" + socket + cfg := &s3.Config{ + AccessKeyID: "FJDSJ", + SecretAccessKey: "DSG643HGDS", + Endpoint: "http://127.0.0.1:9000", + Mounter: "s3fs", + } + if err := os.Remove(socket); err != nil && !os.IsNotExist(err) { + Expect(err).NotTo(HaveOccurred()) + } + driver, err := s3.NewS3("test-node", csiEndpoint, cfg) + if err != nil { + log.Fatal(err) + } + go driver.Run() + + defer os.RemoveAll(mntDir) + + Describe("CSI sanity", func() { + sanityCfg := &sanity.Config{ + TargetPath: mntDir, + Address: csiEndpoint, + TestVolumeSize: 1, + } + sanity.GinkgoTest(sanityCfg) + }) + }) + + Context("s3ql", func() { + socket := "/tmp/csi-s3ql.sock" + csiEndpoint := "unix://" + socket + + cfg := &s3.Config{ + AccessKeyID: "FJDSJ", + SecretAccessKey: "DSG643HGDS", + Endpoint: "http://127.0.0.1:9000", + Mounter: "s3ql", + } + if err := os.Remove(socket); err != nil && !os.IsNotExist(err) { + Expect(err).NotTo(HaveOccurred()) + } + driver, err := s3.NewS3("test-node", csiEndpoint, cfg) + if err != nil { + log.Fatal(err) + } + go driver.Run() + + defer os.RemoveAll(mntDir) + + Describe("CSI sanity", func() { + sanityCfg := &sanity.Config{ + TargetPath: mntDir, + Address: csiEndpoint, + TestVolumeSize: 1, + } + sanity.GinkgoTest(sanityCfg) + }) + }) + +}) diff --git a/pkg/s3/s3-driver_test.go b/pkg/s3/s3-driver_test.go index 89b84c4..5588247 100644 --- a/pkg/s3/s3-driver_test.go +++ b/pkg/s3/s3-driver_test.go @@ -17,43 +17,13 @@ limitations under the License. package s3 import ( - "io/ioutil" - "log" - "os" "testing" - "github.com/kubernetes-csi/csi-test/pkg/sanity" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" ) -func TestDriver(t *testing.T) { - socket := "/tmp/csi.sock" - endpoint := "unix://" + socket - - if err := os.Remove(socket); err != nil && !os.IsNotExist(err) { - t.Fatalf("failed to remove unix domain socket file %s, error: %s", socket, err) - } - cfg := &Config{ - AccessKeyID: "FJDSJ", - SecretAccessKey: "DSG643HGDS", - Endpoint: "http://127.0.0.1:9000", - EncryptionKey: "IskEwCuEg6drywi", - } - driver, err := NewS3("test-node", endpoint, cfg) - if err != nil { - log.Fatal(err) - } - go driver.Run() - - mntDir, err := ioutil.TempDir("", "mnt") - if err != nil { - t.Fatal(err) - } - defer os.RemoveAll(mntDir) - - sanityCfg := &sanity.Config{ - TargetPath: mntDir, - Address: endpoint, - } - - sanity.Test(t, sanityCfg) +func TestS3Driver(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "S3Driver") }