|
|
|
@ -12,24 +12,27 @@ func TestImageUploaderFactory(t *testing.T) { |
|
|
|
|
Convey("Can create image uploader for ", t, func() { |
|
|
|
|
Convey("S3ImageUploader config", func() { |
|
|
|
|
cfg := setting.NewCfg() |
|
|
|
|
cfg.Load(&setting.CommandLineArgs{ |
|
|
|
|
err := cfg.Load(&setting.CommandLineArgs{ |
|
|
|
|
HomePath: "../../../", |
|
|
|
|
}) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
setting.ImageUploadProvider = "s3" |
|
|
|
|
|
|
|
|
|
Convey("with bucket url https://foo.bar.baz.s3-us-east-2.amazonaws.com", func() { |
|
|
|
|
s3sec, err := setting.Raw.GetSection("external_image_storage.s3") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
s3sec.NewKey("bucket_url", "https://foo.bar.baz.s3-us-east-2.amazonaws.com") |
|
|
|
|
s3sec.NewKey("access_key", "access_key") |
|
|
|
|
s3sec.NewKey("secret_key", "secret_key") |
|
|
|
|
_, err = s3sec.NewKey("bucket_url", "https://foo.bar.baz.s3-us-east-2.amazonaws.com") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = s3sec.NewKey("access_key", "access_key") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = s3sec.NewKey("secret_key", "secret_key") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
uploader, err := NewImageUploader() |
|
|
|
|
|
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
original, ok := uploader.(*S3Uploader) |
|
|
|
|
|
|
|
|
|
original, ok := uploader.(*S3Uploader) |
|
|
|
|
So(ok, ShouldBeTrue) |
|
|
|
|
So(original.region, ShouldEqual, "us-east-2") |
|
|
|
|
So(original.bucket, ShouldEqual, "foo.bar.baz") |
|
|
|
@ -40,15 +43,17 @@ func TestImageUploaderFactory(t *testing.T) { |
|
|
|
|
Convey("with bucket url https://s3.amazonaws.com/mybucket", func() { |
|
|
|
|
s3sec, err := setting.Raw.GetSection("external_image_storage.s3") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
s3sec.NewKey("bucket_url", "https://s3.amazonaws.com/my.bucket.com") |
|
|
|
|
s3sec.NewKey("access_key", "access_key") |
|
|
|
|
s3sec.NewKey("secret_key", "secret_key") |
|
|
|
|
_, err = s3sec.NewKey("bucket_url", "https://s3.amazonaws.com/my.bucket.com") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = s3sec.NewKey("access_key", "access_key") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = s3sec.NewKey("secret_key", "secret_key") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
uploader, err := NewImageUploader() |
|
|
|
|
|
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
original, ok := uploader.(*S3Uploader) |
|
|
|
|
|
|
|
|
|
original, ok := uploader.(*S3Uploader) |
|
|
|
|
So(ok, ShouldBeTrue) |
|
|
|
|
So(original.region, ShouldEqual, "us-east-1") |
|
|
|
|
So(original.bucket, ShouldEqual, "my.bucket.com") |
|
|
|
@ -59,9 +64,12 @@ func TestImageUploaderFactory(t *testing.T) { |
|
|
|
|
Convey("with bucket url https://s3-us-west-2.amazonaws.com/mybucket", func() { |
|
|
|
|
s3sec, err := setting.Raw.GetSection("external_image_storage.s3") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
s3sec.NewKey("bucket_url", "https://s3-us-west-2.amazonaws.com/my.bucket.com") |
|
|
|
|
s3sec.NewKey("access_key", "access_key") |
|
|
|
|
s3sec.NewKey("secret_key", "secret_key") |
|
|
|
|
_, err = s3sec.NewKey("bucket_url", "https://s3-us-west-2.amazonaws.com/my.bucket.com") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = s3sec.NewKey("access_key", "access_key") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = s3sec.NewKey("secret_key", "secret_key") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
uploader, err := NewImageUploader() |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
@ -76,23 +84,24 @@ func TestImageUploaderFactory(t *testing.T) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("Webdav uploader", func() { |
|
|
|
|
var err error |
|
|
|
|
|
|
|
|
|
cfg := setting.NewCfg() |
|
|
|
|
cfg.Load(&setting.CommandLineArgs{ |
|
|
|
|
err := cfg.Load(&setting.CommandLineArgs{ |
|
|
|
|
HomePath: "../../../", |
|
|
|
|
}) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
setting.ImageUploadProvider = "webdav" |
|
|
|
|
|
|
|
|
|
webdavSec, err := cfg.Raw.GetSection("external_image_storage.webdav") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
webdavSec.NewKey("url", "webdavUrl") |
|
|
|
|
webdavSec.NewKey("username", "username") |
|
|
|
|
webdavSec.NewKey("password", "password") |
|
|
|
|
_, err = webdavSec.NewKey("url", "webdavUrl") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = webdavSec.NewKey("username", "username") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = webdavSec.NewKey("password", "password") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
uploader, err := NewImageUploader() |
|
|
|
|
|
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
original, ok := uploader.(*WebdavUploader) |
|
|
|
|
|
|
|
|
@ -103,19 +112,20 @@ func TestImageUploaderFactory(t *testing.T) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("GCS uploader", func() { |
|
|
|
|
var err error |
|
|
|
|
|
|
|
|
|
cfg := setting.NewCfg() |
|
|
|
|
cfg.Load(&setting.CommandLineArgs{ |
|
|
|
|
err := cfg.Load(&setting.CommandLineArgs{ |
|
|
|
|
HomePath: "../../../", |
|
|
|
|
}) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
setting.ImageUploadProvider = "gcs" |
|
|
|
|
|
|
|
|
|
gcpSec, err := cfg.Raw.GetSection("external_image_storage.gcs") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
gcpSec.NewKey("key_file", "/etc/secrets/project-79a52befa3f6.json") |
|
|
|
|
gcpSec.NewKey("bucket", "project-grafana-east") |
|
|
|
|
_, err = gcpSec.NewKey("key_file", "/etc/secrets/project-79a52befa3f6.json") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = gcpSec.NewKey("bucket", "project-grafana-east") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
uploader, err := NewImageUploader() |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
@ -128,17 +138,22 @@ func TestImageUploaderFactory(t *testing.T) { |
|
|
|
|
|
|
|
|
|
Convey("AzureBlobUploader config", func() { |
|
|
|
|
cfg := setting.NewCfg() |
|
|
|
|
cfg.Load(&setting.CommandLineArgs{ |
|
|
|
|
err := cfg.Load(&setting.CommandLineArgs{ |
|
|
|
|
HomePath: "../../../", |
|
|
|
|
}) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
setting.ImageUploadProvider = "azure_blob" |
|
|
|
|
|
|
|
|
|
Convey("with container name", func() { |
|
|
|
|
azureBlobSec, err := cfg.Raw.GetSection("external_image_storage.azure_blob") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
azureBlobSec.NewKey("account_name", "account_name") |
|
|
|
|
azureBlobSec.NewKey("account_key", "account_key") |
|
|
|
|
azureBlobSec.NewKey("container_name", "container_name") |
|
|
|
|
_, err = azureBlobSec.NewKey("account_name", "account_name") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = azureBlobSec.NewKey("account_key", "account_key") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
_, err = azureBlobSec.NewKey("container_name", "container_name") |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
uploader, err := NewImageUploader() |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
@ -152,20 +167,18 @@ func TestImageUploaderFactory(t *testing.T) { |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
Convey("Local uploader", func() { |
|
|
|
|
var err error |
|
|
|
|
|
|
|
|
|
cfg := setting.NewCfg() |
|
|
|
|
cfg.Load(&setting.CommandLineArgs{ |
|
|
|
|
err := cfg.Load(&setting.CommandLineArgs{ |
|
|
|
|
HomePath: "../../../", |
|
|
|
|
}) |
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
|
|
|
|
|
setting.ImageUploadProvider = "local" |
|
|
|
|
|
|
|
|
|
uploader, err := NewImageUploader() |
|
|
|
|
|
|
|
|
|
So(err, ShouldBeNil) |
|
|
|
|
original, ok := uploader.(*LocalUploader) |
|
|
|
|
|
|
|
|
|
original, ok := uploader.(*LocalUploader) |
|
|
|
|
So(ok, ShouldBeTrue) |
|
|
|
|
So(original, ShouldNotBeNil) |
|
|
|
|
}) |
|
|
|
|