imguploader_test.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package imguploader
  2. import (
  3. "testing"
  4. "github.com/grafana/grafana/pkg/setting"
  5. . "github.com/smartystreets/goconvey/convey"
  6. )
  7. func TestImageUploaderFactory(t *testing.T) {
  8. Convey("Can create image uploader for ", t, func() {
  9. Convey("S3ImageUploader", func() {
  10. var err error
  11. setting.NewConfigContext(&setting.CommandLineArgs{
  12. HomePath: "../../../",
  13. })
  14. setting.ImageUploadProvider = "s3"
  15. s3sec, err := setting.Cfg.GetSection("external_image_storage.s3")
  16. s3sec.NewKey("bucket_url", "https://foo.bar.baz.s3-us-east-2.amazonaws.com")
  17. s3sec.NewKey("access_key", "access_key")
  18. s3sec.NewKey("secret_key", "secret_key")
  19. uploader, err := NewImageUploader()
  20. So(err, ShouldBeNil)
  21. original, ok := uploader.(*S3Uploader)
  22. So(ok, ShouldBeTrue)
  23. So(original.region, ShouldEqual, "us-east-2")
  24. So(original.bucket, ShouldEqual, "foo.bar.baz")
  25. So(original.accessKey, ShouldEqual, "access_key")
  26. So(original.secretKey, ShouldEqual, "secret_key")
  27. })
  28. Convey("Webdav uploader", func() {
  29. var err error
  30. setting.NewConfigContext(&setting.CommandLineArgs{
  31. HomePath: "../../../",
  32. })
  33. setting.ImageUploadProvider = "webdav"
  34. webdavSec, err := setting.Cfg.GetSection("external_image_storage.webdav")
  35. webdavSec.NewKey("url", "webdavUrl")
  36. webdavSec.NewKey("username", "username")
  37. webdavSec.NewKey("password", "password")
  38. uploader, err := NewImageUploader()
  39. So(err, ShouldBeNil)
  40. original, ok := uploader.(*WebdavUploader)
  41. So(ok, ShouldBeTrue)
  42. So(original.url, ShouldEqual, "webdavUrl")
  43. So(original.username, ShouldEqual, "username")
  44. So(original.password, ShouldEqual, "password")
  45. })
  46. })
  47. }