imguploader_test.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package imguploader
  2. import (
  3. "reflect"
  4. "testing"
  5. "github.com/grafana/grafana/pkg/setting"
  6. . "github.com/smartystreets/goconvey/convey"
  7. )
  8. func TestImageUploaderFactory(t *testing.T) {
  9. Convey("Can create image uploader for ", t, func() {
  10. Convey("S3ImageUploader", func() {
  11. var err error
  12. setting.NewConfigContext(&setting.CommandLineArgs{
  13. HomePath: "../../../",
  14. })
  15. setting.ImageUploadProvider = "s3"
  16. s3sec, err := setting.Cfg.GetSection("external_image_storage.s3")
  17. s3sec.NewKey("bucket_url", "bucket_url")
  18. s3sec.NewKey("access_key", "access_key")
  19. s3sec.NewKey("secret_key", "secret_key")
  20. uploader, err := NewImageUploader()
  21. So(err, ShouldBeNil)
  22. So(reflect.TypeOf(uploader), ShouldEqual, reflect.TypeOf(&S3Uploader{}))
  23. })
  24. Convey("Webdav uploader", func() {
  25. var err error
  26. setting.NewConfigContext(&setting.CommandLineArgs{
  27. HomePath: "../../../",
  28. })
  29. setting.ImageUploadProvider = "webdav"
  30. webdavSec, err := setting.Cfg.GetSection("external_image_storage.webdav")
  31. webdavSec.NewKey("url", "webdavUrl")
  32. webdavSec.NewKey("username", "username")
  33. webdavSec.NewKey("password", "password")
  34. uploader, err := NewImageUploader()
  35. So(err, ShouldBeNil)
  36. So(reflect.TypeOf(uploader), ShouldEqual, reflect.TypeOf(&WebdavUploader{}))
  37. })
  38. })
  39. }