Skip to content

Commit 764eb21

Browse files
Jay ParekhJay Parekh
authored andcommitted
refactor initialization errors and add tests
1 parent abf085e commit 764eb21

File tree

3 files changed

+41
-7
lines changed

3 files changed

+41
-7
lines changed

lib/imagekit/constants/errors.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,9 @@
6969
'help': "Please pass two pHash values",}
7070
UNEQUAL_STRING_LENGTH = {'message': "Unequal pHash string length",
7171
'help': "For distance calculation, the two pHash strings must have equal length",}
72+
73+
MISSING_PRIVATE_KEY = "ImageKit private key missing"
74+
75+
MISSING_PUBLIC_KEY = "ImageKit public key missing"
76+
77+
MISSING_URL_ENDPOINT = "ImageKit URL Endpoint missing. Default URL Endpoint: https://ik.imagekit.io/<YOUR_IMAGEKIT_ID>/"

lib/imagekit/imagekit.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ class ImageKitClient
1818
def initialize(private_key, public_key, url_endpoint, transformation_pos = nil, options = nil)
1919

2020
unless(private_key.is_a?(String) && private_key.to_s.strip.length != 0)
21-
raise ArgumentError, "ImageKit private key must be a valid, non-blank string"
21+
raise ArgumentError, MISSING_PRIVATE_KEY
2222
end
2323
unless(public_key.is_a?(String) && public_key.to_s.strip.length != 0)
24-
raise ArgumentError, "ImageKit public key must be a valid, non-blank string"
24+
raise ArgumentError, MISSING_PUBLIC_KEY
2525
end
2626
unless(url_endpoint.is_a?(String) && url_endpoint.to_s.strip.length != 0)
27-
raise ArgumentError, "ImageKit URL Endpoint should be valid, non-blank string"
27+
raise ArgumentError, MISSING_URL_ENDPOINT
2828
end
2929

3030
@private_key = private_key

test/imagekit/imagekit_test.rb

Lines changed: 32 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,46 @@
44

55
RSpec.describe "FileUploadTest" do
66

7-
it "test_initialization_with_parameters_missing" do
7+
it "test_initialization_with_private_key_missing" do
88
request_obj = double
99
expect {
1010
ImageKit::ImageKitClient.new(" ", PUBLIC_KEY, URL_ENDPOINT)
11-
}.to raise_error(ArgumentError)
11+
}.to raise_error(ArgumentError, MISSING_PRIVATE_KEY)
1212
end
1313

14-
it "test_initialization_with_non_string_parameters" do
14+
it "test_initialization_with_non_string_private_key" do
1515
request_obj = double
1616
expect {
1717
ImageKit::ImageKitClient.new({RANDOM: "RANDOM"}, PUBLIC_KEY, URL_ENDPOINT)
18-
}.to raise_error(ArgumentError)
18+
}.to raise_error(ArgumentError, MISSING_PRIVATE_KEY)
19+
end
20+
21+
it "test_initialization_with_public_key_missing" do
22+
request_obj = double
23+
expect {
24+
ImageKit::ImageKitClient.new(PRIVATE_KEY, " ", URL_ENDPOINT)
25+
}.to raise_error(ArgumentError, MISSING_PUBLIC_KEY)
26+
end
27+
28+
it "test_initialization_with_non_string_public_key" do
29+
request_obj = double
30+
expect {
31+
ImageKit::ImageKitClient.new(PRIVATE_KEY, {RANDOM: "RANDOM"}, URL_ENDPOINT)
32+
}.to raise_error(ArgumentError, MISSING_PUBLIC_KEY)
33+
end
34+
35+
it "test_initialization_with_url_endpoint_missing" do
36+
request_obj = double
37+
expect {
38+
ImageKit::ImageKitClient.new(PRIVATE_KEY, PUBLIC_KEY, " ")
39+
}.to raise_error(ArgumentError, MISSING_URL_ENDPOINT)
40+
end
41+
42+
it "test_initialization_with_non_string_url_endpoint" do
43+
request_obj = double
44+
expect {
45+
ImageKit::ImageKitClient.new(PRIVATE_KEY, PUBLIC_KEY, {RANDOM: "RANDOM"})
46+
}.to raise_error(ArgumentError, MISSING_URL_ENDPOINT)
1947
end
2048

2149
it "test_upload_with_valid_expected_success" do

0 commit comments

Comments
 (0)