From 8265dbcc50d5055baf0bb4eaabbad0b741b2f088 Mon Sep 17 00:00:00 2001 From: mya-zaki Date: Wed, 1 Nov 2023 14:37:50 +0900 Subject: [PATCH] add getItem api --- lib/autodesk/forge/data_management/item.rb | 6 ++++++ .../forge/data_management/item_spec.rb | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/lib/autodesk/forge/data_management/item.rb b/lib/autodesk/forge/data_management/item.rb index a8b5f74..a642987 100644 --- a/lib/autodesk/forge/data_management/item.rb +++ b/lib/autodesk/forge/data_management/item.rb @@ -15,6 +15,12 @@ def versions JSON.parse(response.body) end + + def get + response = get_request("/data/v1/projects/#{@project_id}/items/#{URI.encode_www_form_component(@item_id)}") + + JSON.parse(response.body) + end end end end diff --git a/spec/autodesk/forge/data_management/item_spec.rb b/spec/autodesk/forge/data_management/item_spec.rb index 0ce22d7..d493d9f 100644 --- a/spec/autodesk/forge/data_management/item_spec.rb +++ b/spec/autodesk/forge/data_management/item_spec.rb @@ -19,4 +19,23 @@ expect(versions['data']).to be_eql('dummy-data') end end + + describe '#item' do + let(:project_id) { 'dummy-project-id'} + let(:item_id) { 'dummy-item-id'} + + it 'sends a request to the endpoint' do + stub_hubs = stub_request(:get, "https://developer.api.autodesk.com/data/v1/projects/#{project_id}/items/#{URI.encode_www_form_component(item_id)}") + .with(headers: { Authorization: 'Bearer dummy-access-token'}) + .to_return({ body: { data: 'dummy-data' }.to_json }) + + credentials = { 'access_token' => 'dummy-access-token' } + + itemApi = Autodesk::Forge::DataManagement::Item.new(project_id: project_id, item_id: item_id, credentials: credentials) + item = itemApi.get + + expect(stub_hubs).to have_been_requested + expect(item['data']).to be_eql('dummy-data') + end + end end \ No newline at end of file