Skip to content

Commit 2e12207

Browse files
committed
update test
1 parent dba140a commit 2e12207

File tree

5 files changed

+189
-68
lines changed

5 files changed

+189
-68
lines changed

lib/imagekitio/request.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ def auth_headers
3131
end
3232

3333
# request method communicates with server
34-
def request(method, url, headers = nil, payload = nil)
34+
def request(method, url, headers = create_headers, payload = nil)
3535
headers ||= create_headers
3636
response = {response: nil, error: nil}
3737
begin

test/imagekit/api_service/bulk_test.rb

Lines changed: 39 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -102,25 +102,49 @@
102102
@sut = bulk_api_service.new(req_obj)
103103
end
104104

105-
it 'test_add_tags' do
106-
resp = @sut.add_tags(file_ids: file_ids, tags: ['custom_tag'])
107-
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/files/addTags")
108-
expect(@ac[:payload]).to eq("{\"fileIds\":\"file_id_1 file_id_2\",\"tags\":[\"custom_tag\"]}")
109-
expect(resp[:code]).to eq(200)
105+
context 'add_tags' do
106+
it 'raises error on empty parameters' do
107+
expect {
108+
@sut.add_tags
109+
}.to raise_error(ArgumentError)
110+
end
111+
112+
it 'test_add_tags' do
113+
resp = @sut.add_tags(file_ids: file_ids, tags: ['custom_tag'])
114+
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/files/addTags")
115+
expect(@ac[:payload]).to eq("{\"fileIds\":\"file_id_1 file_id_2\",\"tags\":[\"custom_tag\"]}")
116+
expect(resp[:code]).to eq(200)
117+
end
110118
end
111119

112-
it 'test_remove_tags' do
113-
resp = @sut.remove_tags(file_ids: file_ids, tags: ['custom_tag_remove'])
114-
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/files/removeTags")
115-
expect(@ac[:payload]).to eq("{\"fileIds\":\"file_id_1 file_id_2\",\"tags\":[\"custom_tag_remove\"]}")
116-
expect(resp[:code]).to eq(200)
120+
context 'remove_tags' do
121+
it 'raises error on empty parameters' do
122+
expect {
123+
@sut.remove_tags
124+
}.to raise_error(ArgumentError)
125+
end
126+
127+
it 'test_remove_tags' do
128+
resp = @sut.remove_tags(file_ids: file_ids, tags: ['custom_tag_remove'])
129+
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/files/removeTags")
130+
expect(@ac[:payload]).to eq("{\"fileIds\":\"file_id_1 file_id_2\",\"tags\":[\"custom_tag_remove\"]}")
131+
expect(resp[:code]).to eq(200)
132+
end
117133
end
118134

119-
it 'test_remove_ai_tags' do
120-
resp = @sut.remove_ai_tags(file_ids: file_ids, ai_tags: ['custom_ai_tag'])
121-
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/files/removeAITags")
122-
expect(@ac[:payload]).to eq("{\"fileIds\":\"file_id_1 file_id_2\",\"AITags\":[\"custom_ai_tag\"]}")
123-
expect(resp[:code]).to eq(200)
135+
context 'remove_ai_tags' do
136+
it 'raises error on empty parameters' do
137+
expect {
138+
@sut.remove_ai_tags
139+
}.to raise_error(ArgumentError)
140+
end
141+
142+
it 'test_remove_ai_tags' do
143+
resp = @sut.remove_ai_tags(file_ids: file_ids, ai_tags: ['custom_ai_tag'])
144+
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/files/removeAITags")
145+
expect(@ac[:payload]).to eq("{\"fileIds\":\"file_id_1 file_id_2\",\"AITags\":[\"custom_ai_tag\"]}")
146+
expect(resp[:code]).to eq(200)
147+
end
124148
end
125149
end
126150

test/imagekit/api_service/custom_metadata_field_test.rb

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,13 @@
6161
expect(resp[:body]).to eq([success_response])
6262
end
6363

64+
it 'raises error when parameter not provided on update_custom_metadata' do
65+
@sut = custom_metadata_service.new(req_obj)
66+
expect {
67+
@sut.update(id: nil, label: 'test_label', schema: '')
68+
}.to raise_error(ArgumentError)
69+
end
70+
6471
it 'test_update_custom_metadata' do
6572
metadata_id = "619e667320b7ef03efc5d850"
6673
allow(req_obj)
@@ -73,6 +80,13 @@
7380
expect(resp[:body]).to eq({"id"=>metadata_id, "name"=>"price1", "label"=>"price1", "schema"=>{"type"=>"Number", "minValue"=>100, "maxValue"=>300}} )
7481
end
7582

83+
it 'raises error when parameter not provided on update_custom_metadata' do
84+
@sut = custom_metadata_service.new(req_obj)
85+
expect {
86+
@sut.delete
87+
}.to raise_error(ArgumentError)
88+
end
89+
7690
it 'test_delete_custom_metadata' do
7791
metadata_id = "619e667320b7ef03efc5d850"
7892
allow(req_obj)

test/imagekit/api_service/file_test.rb

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,25 @@
512512

513513
end
514514

515+
it 'raises error when parameter not provided' do
516+
request_obj = double
517+
allow(ImageKitIo::Request)
518+
.to receive(:new)
519+
.with(private_key, public_key, url_endpoint)
520+
.and_return(request_obj)
521+
allow(request_obj)
522+
.to receive(:create_headers)
523+
.and_return({})
524+
allow(request_obj)
525+
.to receive(:request){|method,url,headers,payload| @ac={method: method, url: url, headers: headers, payload:payload}}
526+
.and_return({code: 200, body: {}})
527+
528+
SUT = file_api_service.new(request_obj)
529+
expect {
530+
SUT.get_metadata
531+
}.to raise_error(ArgumentError)
532+
end
533+
515534
it "test_get_metadata_succeeds" do
516535
request_obj = double
517536
allow(ImageKitIo::Request)
@@ -871,4 +890,39 @@
871890
expect(resp[:code]).to eq(200)
872891
end
873892
end
893+
894+
context 'stream file' do
895+
let!(:req_obj) { double }
896+
897+
before do
898+
allow(ImageKitIo::Request)
899+
.to receive(:new)
900+
.with(private_key, public_key, url_endpoint)
901+
.and_return(req_obj)
902+
allow(req_obj)
903+
.to receive(:create_headers)
904+
.and_return({})
905+
allow(req_obj)
906+
.to receive(:request_stream){|method,url,headers, &block| @ac={method: method, url: url, headers: headers, block: block}}
907+
.and_return({code: 200, body: { success: true }})
908+
@sut = file_api_service.new(req_obj)
909+
end
910+
911+
it 'raises error when parameter not provided' do
912+
expect {
913+
@sut.stream_file
914+
}.to raise_error(ArgumentError)
915+
end
916+
917+
it 'test_stream_file' do
918+
remote_file_url = 'https://ik.imagekit.io/kcdfvxhgfkn/testing_Hx_I_Ys_c.jpg'
919+
block = proc {
920+
puts 'block given'
921+
}
922+
@sut.stream_file(remote_file_url: remote_file_url, &block)
923+
924+
expect(@ac[:block].is_a?(Proc)).to be(true)
925+
expect(@ac[:url]).to eq(remote_file_url)
926+
end
927+
end
874928
end

test/imagekit/api_service/folder_test.rb

Lines changed: 81 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -20,65 +20,94 @@
2020
.and_return({})
2121
end
2222

23-
it 'raises error when parameter not provided' do
24-
@sut = folder_api_service.new(req_obj)
25-
expect {
26-
@sut.create('', nil)
27-
}.to raise_error(ArgumentError)
28-
end
23+
context 'create' do
24+
it 'raises error when parameter not provided' do
25+
@sut = folder_api_service.new(req_obj)
26+
expect {
27+
@sut.create('', nil)
28+
}.to raise_error(ArgumentError)
29+
end
2930

30-
it 'test_create_folder' do
31-
allow(req_obj)
32-
.to receive(:request){|method,url,headers,payload| @ac={method: method, url: url, headers: headers, payload: payload}}
33-
.and_return({code: 201, body: { success: true }})
34-
@sut = folder_api_service.new(req_obj)
35-
folder_name = 'test_folder'
36-
parent_folder = ''
37-
resp = @sut.create(folder_name: folder_name, parent_folder_path: parent_folder)
38-
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/folder")
39-
expect(@ac[:payload]).to eq("{\"folderName\":\"test_folder\",\"parentFolderPath\":\"\"}")
40-
expect(@ac[:method]).to eq('post')
41-
expect(resp[:code]).to eq(201)
31+
it 'test_create_folder' do
32+
allow(req_obj)
33+
.to receive(:request){|method,url,headers,payload| @ac={method: method, url: url, headers: headers, payload: payload}}
34+
.and_return({code: 201, body: { success: true }})
35+
@sut = folder_api_service.new(req_obj)
36+
folder_name = 'test_folder'
37+
parent_folder = ''
38+
resp = @sut.create(folder_name: folder_name, parent_folder_path: parent_folder)
39+
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/folder")
40+
expect(@ac[:payload]).to eq("{\"folderName\":\"test_folder\",\"parentFolderPath\":\"\"}")
41+
expect(@ac[:method]).to eq('post')
42+
expect(resp[:code]).to eq(201)
43+
end
4244
end
4345

44-
it 'test_delete_folder' do
45-
allow(req_obj)
46-
.to receive(:request){|method,url,headers,payload| @ac={method: method, url: url, headers: headers, payload: payload}}
47-
.and_return({code: 204, body: { success: true }})
48-
@sut = folder_api_service.new(req_obj)
49-
folder_path = 'test_folder'
50-
resp = @sut.delete(folder_path: folder_path)
51-
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/folder")
52-
expect(@ac[:method]).to eq('delete')
53-
expect(resp[:body][:success]).to be(true)
46+
context 'delete' do
47+
it 'raises error when parameter not provided' do
48+
@sut = folder_api_service.new(req_obj)
49+
expect {
50+
@sut.delete
51+
}.to raise_error(ArgumentError)
52+
end
53+
54+
it 'test_delete_folder' do
55+
allow(req_obj)
56+
.to receive(:request){|method,url,headers,payload| @ac={method: method, url: url, headers: headers, payload: payload}}
57+
.and_return({code: 204, body: { success: true }})
58+
@sut = folder_api_service.new(req_obj)
59+
folder_path = 'test_folder'
60+
resp = @sut.delete(folder_path: folder_path)
61+
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/folder")
62+
expect(@ac[:method]).to eq('delete')
63+
expect(resp[:body][:success]).to be(true)
64+
end
5465
end
5566

56-
it 'test_copy_folder' do
57-
allow(req_obj)
58-
.to receive(:request){|method,url,headers,payload| @ac={method: method, url: url, headers: headers, payload: payload}}
59-
.and_return({code: 200, body: { jobId: '123456' }})
60-
@sut = folder_api_service.new(req_obj)
61-
source_folder = 'my_folder'
62-
destination_path = 'copied'
63-
resp = @sut.copy(source_folder_path: source_folder, destination_path: destination_path)
64-
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/bulkJobs/copyFolder")
65-
expect(@ac[:method]).to eq('post')
66-
expect(@ac[:payload]).to eq({:sourceFolderPath=>"my_folder", :destinationPath=>"copied"})
67-
expect(resp[:body][:jobId]).to eq('123456')
67+
context 'copy' do
68+
it 'raises error when parameter not provided' do
69+
@sut = folder_api_service.new(req_obj)
70+
expect {
71+
@sut.copy
72+
}.to raise_error(ArgumentError)
73+
end
74+
75+
it 'test_copy_folder' do
76+
allow(req_obj)
77+
.to receive(:request){|method,url,headers,payload| @ac={method: method, url: url, headers: headers, payload: payload}}
78+
.and_return({code: 200, body: { jobId: '123456' }})
79+
@sut = folder_api_service.new(req_obj)
80+
source_folder = 'my_folder'
81+
destination_path = 'copied'
82+
resp = @sut.copy(source_folder_path: source_folder, destination_path: destination_path)
83+
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/bulkJobs/copyFolder")
84+
expect(@ac[:method]).to eq('post')
85+
expect(@ac[:payload]).to eq({:sourceFolderPath=>"my_folder", :destinationPath=>"copied"})
86+
expect(resp[:body][:jobId]).to eq('123456')
87+
end
6888
end
6989

70-
it 'test_move_folder' do
71-
allow(req_obj)
72-
.to receive(:request){|method,url,headers,payload| @ac={method: method, url: url, headers: headers, payload: payload}}
73-
.and_return({code: 200, body: { jobId: '123456' }})
74-
@sut = folder_api_service.new(req_obj)
75-
source_folder = 'my_folder/inside_folder'
76-
destination_path = 'moved/inside_another_folder'
77-
resp = @sut.move(source_folder_path: source_folder, destination_path: destination_path)
78-
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/bulkJobs/moveFolder")
79-
expect(@ac[:method]).to eq('post')
80-
expect(@ac[:payload]).to eq({:sourceFolderPath=>"my_folder/inside_folder", :destinationPath=>"moved/inside_another_folder"})
81-
expect(resp[:body][:jobId]).to eq('123456')
90+
context 'move' do
91+
it 'raises error when parameter not provided' do
92+
@sut = folder_api_service.new(req_obj)
93+
expect {
94+
@sut.copy
95+
}.to raise_error(ArgumentError)
96+
end
97+
98+
it 'test_move_folder' do
99+
allow(req_obj)
100+
.to receive(:request){|method,url,headers,payload| @ac={method: method, url: url, headers: headers, payload: payload}}
101+
.and_return({code: 200, body: { jobId: '123456' }})
102+
@sut = folder_api_service.new(req_obj)
103+
source_folder = 'my_folder/inside_folder'
104+
destination_path = 'moved/inside_another_folder'
105+
resp = @sut.move(source_folder_path: source_folder, destination_path: destination_path)
106+
expect(@ac[:url]).to eq("https://api.imagekit.io/v1/bulkJobs/moveFolder")
107+
expect(@ac[:method]).to eq('post')
108+
expect(@ac[:payload]).to eq({:sourceFolderPath=>"my_folder/inside_folder", :destinationPath=>"moved/inside_another_folder"})
109+
expect(resp[:body][:jobId]).to eq('123456')
110+
end
82111
end
83112
end
84113
end

0 commit comments

Comments
 (0)