|
|
|
@ -211,14 +211,20 @@ describe Carto::Api::VisualizationsController do
|
|
|
|
|
body['visualizations'][0]['id'].should eq u1_vis_1_id
|
|
|
|
|
|
|
|
|
|
# Share u1 table with u2
|
|
|
|
|
put api_v1_permissions_update_url(user_domain:user_1.username, api_key: user_1.api_key, id: u1_t_1_perm_id),
|
|
|
|
|
{acl: [{
|
|
|
|
|
type: Carto::Permission::TYPE_USER,
|
|
|
|
|
entity: {
|
|
|
|
|
id: user_2.id,
|
|
|
|
|
},
|
|
|
|
|
access: Carto::Permission::ACCESS_READONLY
|
|
|
|
|
}]}.to_json, @headers
|
|
|
|
|
request_payload = {
|
|
|
|
|
acl: [
|
|
|
|
|
{
|
|
|
|
|
type: Carto::Permission::TYPE_USER,
|
|
|
|
|
entity: { id: user_2.id },
|
|
|
|
|
access: Carto::Permission::ACCESS_READONLY
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}.to_json
|
|
|
|
|
put(
|
|
|
|
|
api_v1_permissions_update_url(user_domain: user_1.username, api_key: user_1.api_key, id: u1_t_1_perm_id),
|
|
|
|
|
request_payload,
|
|
|
|
|
@headers
|
|
|
|
|
)
|
|
|
|
|
last_response.status.should == 200
|
|
|
|
|
|
|
|
|
|
# Dunno why (rack test error?) but this call seems to cache previous params, so just call it to "flush" them
|
|
|
|
@ -359,14 +365,17 @@ describe Carto::Api::VisualizationsController do
|
|
|
|
|
vis['id'].should eq u1_vis_1_id
|
|
|
|
|
|
|
|
|
|
# Share u2 vis1 with organization
|
|
|
|
|
put api_v1_permissions_update_url(user_domain: @org_user_2.username, api_key: @org_user_2.api_key, id: u2_vis_1_perm_id),
|
|
|
|
|
{acl: [{
|
|
|
|
|
type: Carto::Permission::TYPE_ORGANIZATION,
|
|
|
|
|
entity: {
|
|
|
|
|
id: @organization.id,
|
|
|
|
|
},
|
|
|
|
|
access: Carto::Permission::ACCESS_READONLY
|
|
|
|
|
}]}.to_json, @headers
|
|
|
|
|
request_payload = {
|
|
|
|
|
acl: [
|
|
|
|
|
{
|
|
|
|
|
type: Carto::Permission::TYPE_ORGANIZATION,
|
|
|
|
|
entity: { id: @organization.id },
|
|
|
|
|
access: Carto::Permission::ACCESS_READONLY
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}.to_json
|
|
|
|
|
request_url_params = { user_domain: @org_user_2.username, api_key: @org_user_2.api_key, id: u2_vis_1_perm_id }
|
|
|
|
|
put api_v1_permissions_update_url(request_url_params), request_payload, @headers
|
|
|
|
|
last_response.status.should == 200
|
|
|
|
|
|
|
|
|
|
get api_v1_visualizations_index_url(user_domain: @org_user_1.username, api_key: @org_user_1.api_key,
|
|
|
|
@ -377,14 +386,17 @@ describe Carto::Api::VisualizationsController do
|
|
|
|
|
body['total_locked'].should eq 0
|
|
|
|
|
|
|
|
|
|
# Share u2 vis2 with u1
|
|
|
|
|
put api_v1_permissions_update_url(user_domain: @org_user_2.username, api_key: @org_user_2.api_key, id: u2_vis_2_perm_id),
|
|
|
|
|
{acl: [{
|
|
|
|
|
type: Carto::Permission::TYPE_USER,
|
|
|
|
|
entity: {
|
|
|
|
|
id: @org_user_1.id,
|
|
|
|
|
},
|
|
|
|
|
access: Carto::Permission::ACCESS_READONLY
|
|
|
|
|
}]}.to_json, @headers
|
|
|
|
|
request_payload = {
|
|
|
|
|
acl: [
|
|
|
|
|
{
|
|
|
|
|
type: Carto::Permission::TYPE_USER,
|
|
|
|
|
entity: { id: @org_user_1.id },
|
|
|
|
|
access: Carto::Permission::ACCESS_READONLY
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}.to_json
|
|
|
|
|
request_url_params = { user_domain: @org_user_2.username, api_key: @org_user_2.api_key, id: u2_vis_2_perm_id }
|
|
|
|
|
put api_v1_permissions_update_url(request_url_params), request_payload, @headers
|
|
|
|
|
last_response.status.should == 200
|
|
|
|
|
|
|
|
|
|
get api_v1_visualizations_index_url(user_domain: @org_user_1.username, api_key: @org_user_1.api_key,
|
|
|
|
@ -413,16 +425,18 @@ describe Carto::Api::VisualizationsController do
|
|
|
|
|
body['total_shared'].should eq 2
|
|
|
|
|
body['total_locked'].should eq 0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Share u2 table1 with org
|
|
|
|
|
put api_v1_permissions_update_url(user_domain:@org_user_2.username, api_key: @org_user_2.api_key, id: u2_t_1_perm_id),
|
|
|
|
|
{acl: [{
|
|
|
|
|
type: Carto::Permission::TYPE_ORGANIZATION,
|
|
|
|
|
entity: {
|
|
|
|
|
id: @organization.id,
|
|
|
|
|
},
|
|
|
|
|
access: Carto::Permission::ACCESS_READONLY
|
|
|
|
|
}]}.to_json, @headers
|
|
|
|
|
payload = {
|
|
|
|
|
acl: [
|
|
|
|
|
{
|
|
|
|
|
type: Carto::Permission::TYPE_ORGANIZATION,
|
|
|
|
|
entity: { id: @organization.id },
|
|
|
|
|
access: Carto::Permission::ACCESS_READONLY
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}.to_json
|
|
|
|
|
url_params = { user_domain: @org_user_2.username, api_key: @org_user_2.api_key, id: u2_t_1_perm_id }
|
|
|
|
|
put api_v1_permissions_update_url(url_params), payload, @headers
|
|
|
|
|
|
|
|
|
|
get api_v1_visualizations_index_url(user_domain: @org_user_1.username, api_key: @org_user_1.api_key,
|
|
|
|
|
type: CartoDB::Visualization::Member::TYPE_CANONICAL, order: 'updated_at'), @headers
|
|
|
|
@ -432,14 +446,17 @@ describe Carto::Api::VisualizationsController do
|
|
|
|
|
body['total_locked'].should eq 0
|
|
|
|
|
|
|
|
|
|
# Share u2 table2 with org
|
|
|
|
|
put api_v1_permissions_update_url(user_domain:@org_user_2.username, api_key: @org_user_2.api_key, id: u2_t_2_perm_id),
|
|
|
|
|
{acl: [{
|
|
|
|
|
type: Carto::Permission::TYPE_USER,
|
|
|
|
|
entity: {
|
|
|
|
|
id: @org_user_1.id,
|
|
|
|
|
},
|
|
|
|
|
access: Carto::Permission::ACCESS_READONLY
|
|
|
|
|
}]}.to_json, @headers
|
|
|
|
|
request_payload = {
|
|
|
|
|
acl: [
|
|
|
|
|
{
|
|
|
|
|
type: Carto::Permission::TYPE_USER,
|
|
|
|
|
entity: { id: @org_user_1.id },
|
|
|
|
|
access: Carto::Permission::ACCESS_READONLY
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}.to_json
|
|
|
|
|
request_url_params = { user_domain: @org_user_2.username, api_key: @org_user_2.api_key, id: u2_t_2_perm_id }
|
|
|
|
|
put api_v1_permissions_update_url(request_url_params), request_payload, @headers
|
|
|
|
|
|
|
|
|
|
get api_v1_visualizations_index_url(user_domain: @org_user_1.username, api_key: @org_user_1.api_key,
|
|
|
|
|
type: CartoDB::Visualization::Member::TYPE_CANONICAL, order: 'updated_at'), @headers
|
|
|
|
|