gooddata 0.6.7 → 0.6.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +19 -1
- data/README.md +10 -2
- data/TODO.md +32 -0
- data/gooddata.gemspec +5 -0
- data/lib/gooddata.rb +4 -0
- data/lib/gooddata/app/app.rb +12 -0
- data/lib/gooddata/bricks/middleware/gooddata_middleware.rb +4 -3
- data/lib/gooddata/bricks/middleware/restforce_middleware.rb +2 -1
- data/lib/gooddata/cli/commands/console_cmd.rb +23 -5
- data/lib/gooddata/cli/commands/domain_cmd.rb +9 -10
- data/lib/gooddata/cli/commands/process_cmd.rb +11 -9
- data/lib/gooddata/cli/commands/project_cmd.rb +25 -27
- data/lib/gooddata/cli/commands/projects_cmd.rb +2 -2
- data/lib/gooddata/cli/commands/run_ruby_cmd.rb +1 -1
- data/lib/gooddata/cli/commands/user_cmd.rb +2 -2
- data/lib/gooddata/cli/hooks.rb +4 -2
- data/lib/gooddata/cli/shared.rb +1 -1
- data/lib/gooddata/cli/terminal.rb +1 -1
- data/lib/gooddata/commands/api.rb +1 -1
- data/lib/gooddata/commands/auth.rb +4 -28
- data/lib/gooddata/commands/domain.rb +9 -4
- data/lib/gooddata/commands/process.rb +26 -23
- data/lib/gooddata/commands/project.rb +74 -50
- data/lib/gooddata/commands/projects.rb +3 -2
- data/lib/gooddata/commands/role.rb +9 -3
- data/lib/gooddata/commands/user.rb +6 -4
- data/lib/gooddata/connection.rb +11 -45
- data/lib/gooddata/core/logging.rb +0 -1
- data/lib/gooddata/core/project.rb +22 -22
- data/lib/gooddata/core/rest.rb +9 -8
- data/lib/gooddata/core/user.rb +0 -11
- data/lib/gooddata/exceptions/project_not_found.rb +1 -0
- data/lib/gooddata/extensions/enumerable.rb +10 -0
- data/lib/gooddata/extensions/hash.rb +25 -0
- data/lib/gooddata/goodzilla/goodzilla.rb +4 -4
- data/lib/gooddata/helper/class_helper.rb +1 -0
- data/lib/gooddata/helper/helpers.rb +8 -0
- data/lib/gooddata/helpers/auth_helpers.rb +41 -0
- data/lib/gooddata/mixins/author.rb +1 -1
- data/lib/gooddata/mixins/contributor.rb +1 -1
- data/lib/gooddata/mixins/data_property_reader.rb +2 -0
- data/lib/gooddata/mixins/data_property_writer.rb +2 -0
- data/lib/gooddata/mixins/inspector.rb +49 -0
- data/lib/gooddata/mixins/md_finders.rb +16 -8
- data/lib/gooddata/mixins/md_id_to_uri.rb +12 -4
- data/lib/gooddata/mixins/md_object_indexer.rb +15 -4
- data/lib/gooddata/mixins/md_object_query.rb +42 -20
- data/lib/gooddata/mixins/md_relations.rb +21 -12
- data/lib/gooddata/mixins/meta_getter.rb +2 -0
- data/lib/gooddata/mixins/meta_property_reader.rb +2 -0
- data/lib/gooddata/mixins/meta_property_writer.rb +2 -0
- data/lib/gooddata/mixins/rest_resource.rb +32 -10
- data/lib/gooddata/mixins/root_key_getter.rb +1 -1
- data/lib/gooddata/models/data_result.rb +3 -1
- data/lib/gooddata/models/domain.rb +31 -22
- data/lib/gooddata/models/empty_result.rb +22 -0
- data/lib/gooddata/models/invitation.rb +11 -9
- data/lib/gooddata/models/links.rb +5 -3
- data/lib/gooddata/models/membership.rb +23 -28
- data/lib/gooddata/models/metadata.rb +35 -35
- data/lib/gooddata/models/metadata/attribute.rb +10 -8
- data/lib/gooddata/models/metadata/dashboard.rb +1 -1
- data/lib/gooddata/models/metadata/fact.rb +3 -3
- data/lib/gooddata/models/metadata/label.rb +4 -4
- data/lib/gooddata/models/metadata/metric.rb +76 -38
- data/lib/gooddata/models/metadata/report.rb +52 -17
- data/lib/gooddata/models/metadata/report_definition.rb +178 -28
- data/lib/gooddata/models/model.rb +13 -6
- data/lib/gooddata/models/process.rb +93 -30
- data/lib/gooddata/models/profile.rb +18 -20
- data/lib/gooddata/models/project.rb +344 -127
- data/lib/gooddata/models/project_creator.rb +32 -22
- data/lib/gooddata/models/project_metadata.rb +26 -14
- data/lib/gooddata/models/project_role.rb +15 -17
- data/lib/gooddata/models/report_data_result.rb +4 -0
- data/lib/gooddata/models/schedule.rb +51 -20
- data/lib/gooddata/models/schema_blueprint.rb +9 -3
- data/lib/gooddata/rest/README.md +37 -0
- data/lib/gooddata/rest/client.rb +318 -0
- data/lib/gooddata/rest/connection.rb +235 -0
- data/lib/gooddata/rest/connections/connections.rb +8 -0
- data/lib/gooddata/rest/connections/dummy_connection.rb +52 -0
- data/lib/gooddata/rest/connections/rest_client_connection.rb +177 -0
- data/lib/gooddata/rest/object.rb +32 -0
- data/lib/gooddata/rest/object_factory.rb +67 -0
- data/lib/gooddata/rest/resource.rb +17 -0
- data/lib/gooddata/rest/rest.rb +20 -0
- data/lib/gooddata/version.rb +1 -1
- data/spec/data/cc/data/source/commits.csv +4 -0
- data/spec/data/cc/data/source/devs.csv +4 -0
- data/spec/data/cc/data/source/repos.csv +3 -0
- data/spec/data/cc/devel.prm +0 -0
- data/spec/data/cc/graph/graph.grf +11 -0
- data/spec/data/cc/workspace.prm +19 -0
- data/spec/data/hello_world_process/hello_world.rb +1 -0
- data/spec/data/hello_world_process/hello_world.zip +0 -0
- data/spec/data/users.csv +12 -12
- data/spec/helpers/connection_helper.rb +6 -0
- data/spec/helpers/process_helper.rb +12 -0
- data/spec/helpers/project_helper.rb +2 -2
- data/spec/integration/command_projects_spec.rb +11 -9
- data/spec/integration/create_from_template_spec.rb +6 -2
- data/spec/integration/full_process_schedule_spec.rb +49 -36
- data/spec/integration/full_project_spec.rb +221 -256
- data/spec/integration/partial_md_export_import_spec.rb +18 -17
- data/spec/logging_in_logging_out_spec.rb +17 -8
- data/spec/spec_helper.rb +4 -2
- data/spec/unit/cli/commands/cmd_api_spec.rb +1 -1
- data/spec/unit/cli/commands/cmd_auth_spec.rb +1 -1
- data/spec/unit/cli/commands/cmd_domain_spec.rb +29 -3
- data/spec/unit/cli/commands/cmd_process_spec.rb +1 -1
- data/spec/unit/cli/commands/cmd_project_spec.rb +1 -1
- data/spec/unit/cli/commands/cmd_role_spec.rb +13 -2
- data/spec/unit/cli/commands/cmd_run_ruby_spec.rb +1 -1
- data/spec/unit/cli/commands/cmd_scaffold_spec.rb +1 -1
- data/spec/unit/cli/commands/cmd_user_spec.rb +1 -1
- data/spec/unit/commands/command_api_spec.rb +0 -19
- data/spec/unit/commands/command_auth_spec.rb +20 -13
- data/spec/unit/commands/command_dataset_spec.rb +2 -2
- data/spec/unit/commands/command_process_spec.rb +24 -21
- data/spec/unit/commands/command_projects_spec.rb +2 -2
- data/spec/unit/commands/command_scaffold_spec.rb +2 -2
- data/spec/unit/commands/command_user_spec.rb +3 -3
- data/spec/unit/core/connection_spec.rb +9 -10
- data/spec/unit/core/project_spec.rb +8 -4
- data/spec/unit/core/rest_spec.rb +6 -6
- data/spec/unit/models/domain_spec.rb +14 -7
- data/spec/unit/models/invitation_spec.rb +2 -2
- data/spec/unit/models/membership_spec.rb +5 -5
- data/spec/unit/models/metric_spec.rb +92 -0
- data/spec/unit/models/profile_spec.rb +25 -21
- data/spec/unit/models/project_blueprint_spec.rb +6 -6
- data/spec/unit/models/project_role_spec.rb +3 -5
- data/spec/unit/models/project_spec.rb +43 -37
- data/spec/unit/models/schedule_spec.rb +58 -107
- data/spec/unit/rest/resource_spec.rb +6 -0
- metadata +87 -10
- data/lib/gooddata/cli/commands/role_cmd.rb +0 -28
- data/lib/gooddata/core/connection.rb +0 -392
- data/lib/gooddata/core/threaded.rb +0 -14
- data/lib/gooddata/models/md_object.rb +0 -25
- data/lib/gooddata/models/metadata/folder.rb +0 -24
- data/spec/unit/models/md_object_spec.rb +0 -55
- data/spec/unit/models/metric.rb +0 -92
|
@@ -7,11 +7,11 @@ require 'gooddata/models/project'
|
|
|
7
7
|
|
|
8
8
|
describe GoodData::Profile do
|
|
9
9
|
before(:all) do
|
|
10
|
-
ConnectionHelper.create_default_connection
|
|
11
|
-
@user = GoodData::Domain.find_user_by_login(ConnectionHelper::DEFAULT_DOMAIN, ConnectionHelper::DEFAULT_USERNAME)
|
|
10
|
+
@client = ConnectionHelper.create_default_connection
|
|
11
|
+
@user = GoodData::Domain.find_user_by_login(ConnectionHelper::DEFAULT_DOMAIN, ConnectionHelper::DEFAULT_USERNAME, :client => @client)
|
|
12
12
|
|
|
13
13
|
@users = [
|
|
14
|
-
GoodData::Profile
|
|
14
|
+
@client.create(GoodData::Profile,
|
|
15
15
|
{
|
|
16
16
|
'accountSetting' => {
|
|
17
17
|
'email' => 'petr.cvengros@gooddata.com',
|
|
@@ -21,7 +21,7 @@ describe GoodData::Profile do
|
|
|
21
21
|
}
|
|
22
22
|
),
|
|
23
23
|
|
|
24
|
-
GoodData::Profile
|
|
24
|
+
@client.create(GoodData::Profile,
|
|
25
25
|
{
|
|
26
26
|
'accountSetting' => {
|
|
27
27
|
'email' => 'tomas.korcak@gooddata.com',
|
|
@@ -31,7 +31,7 @@ describe GoodData::Profile do
|
|
|
31
31
|
}
|
|
32
32
|
),
|
|
33
33
|
|
|
34
|
-
GoodData::Profile
|
|
34
|
+
@client.create(GoodData::Profile,
|
|
35
35
|
{
|
|
36
36
|
'accountSetting' => {
|
|
37
37
|
'email' => 'patrick.mcconlogue@gooddata.com',
|
|
@@ -42,7 +42,7 @@ describe GoodData::Profile do
|
|
|
42
42
|
}
|
|
43
43
|
),
|
|
44
44
|
|
|
45
|
-
GoodData::Profile
|
|
45
|
+
@client.create(GoodData::Profile,
|
|
46
46
|
{
|
|
47
47
|
'accountSetting' => {
|
|
48
48
|
'email' => 'tomas.svarovsky@gooddata.com',
|
|
@@ -55,20 +55,24 @@ describe GoodData::Profile do
|
|
|
55
55
|
end
|
|
56
56
|
|
|
57
57
|
after(:all) do
|
|
58
|
-
|
|
58
|
+
@client.disconnect
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def deep_dup(obj)
|
|
62
|
+
Marshal.load(Marshal.dump(obj))
|
|
59
63
|
end
|
|
60
64
|
|
|
61
65
|
describe '#==' do
|
|
62
66
|
it 'Returns true for same objects' do
|
|
63
|
-
user1 =
|
|
64
|
-
user2 =
|
|
67
|
+
user1 = deep_dup(@user)
|
|
68
|
+
user2 = deep_dup(@user)
|
|
65
69
|
res = user1 == user2
|
|
66
70
|
res.should be_true
|
|
67
71
|
end
|
|
68
72
|
|
|
69
73
|
it 'Returns false for different objects' do
|
|
70
|
-
user1 =
|
|
71
|
-
user2 =
|
|
74
|
+
user1 = deep_dup(@user)
|
|
75
|
+
user2 = deep_dup(@user)
|
|
72
76
|
|
|
73
77
|
# Do some little modification
|
|
74
78
|
user2.first_name = 'kokos'
|
|
@@ -80,15 +84,15 @@ describe GoodData::Profile do
|
|
|
80
84
|
|
|
81
85
|
describe '#!=' do
|
|
82
86
|
it 'Returns false for same objects' do
|
|
83
|
-
user1 =
|
|
84
|
-
user2 =
|
|
87
|
+
user1 = deep_dup(@user)
|
|
88
|
+
user2 = deep_dup(@user)
|
|
85
89
|
res = user1 != user2
|
|
86
90
|
res.should be_false
|
|
87
91
|
end
|
|
88
92
|
|
|
89
93
|
it 'Returns true for different objects' do
|
|
90
|
-
user1 =
|
|
91
|
-
user2 =
|
|
94
|
+
user1 = deep_dup(@user)
|
|
95
|
+
user2 = deep_dup(@user)
|
|
92
96
|
|
|
93
97
|
# Do some little modification
|
|
94
98
|
user2.first_name = 'kokos'
|
|
@@ -100,8 +104,8 @@ describe GoodData::Profile do
|
|
|
100
104
|
|
|
101
105
|
describe '#apply' do
|
|
102
106
|
it 'When diff of two objects applied to first result should be same as second object' do
|
|
103
|
-
user1 =
|
|
104
|
-
user2 =
|
|
107
|
+
user1 = deep_dup(@user)
|
|
108
|
+
user2 = deep_dup(@user)
|
|
105
109
|
|
|
106
110
|
# Do some little modification
|
|
107
111
|
user2.first_name = 'kokos'
|
|
@@ -120,16 +124,16 @@ describe GoodData::Profile do
|
|
|
120
124
|
|
|
121
125
|
describe '#diff' do
|
|
122
126
|
it 'Returns empty hash for same objects' do
|
|
123
|
-
user1 =
|
|
124
|
-
user2 =
|
|
127
|
+
user1 = deep_dup(@user)
|
|
128
|
+
user2 = deep_dup(@user)
|
|
125
129
|
res = user1.diff(user2)
|
|
126
130
|
expect(res).to be_instance_of(Hash)
|
|
127
131
|
res.length.should eql(0)
|
|
128
132
|
end
|
|
129
133
|
|
|
130
134
|
it 'Returns non empty hash for different objects' do
|
|
131
|
-
user1 =
|
|
132
|
-
user2 =
|
|
135
|
+
user1 = deep_dup(@user)
|
|
136
|
+
user2 = deep_dup(@user)
|
|
133
137
|
|
|
134
138
|
# Do some little modification
|
|
135
139
|
user2.first_name = 'kokos'
|
|
@@ -102,33 +102,33 @@ describe GoodData::Model::ProjectBlueprint do
|
|
|
102
102
|
end
|
|
103
103
|
|
|
104
104
|
it 'should be able to grab attribute' do
|
|
105
|
-
pending('
|
|
105
|
+
pending('Wrap into object')
|
|
106
106
|
@repos.labels.size.should == 1
|
|
107
107
|
@repos.labels.first.attribute.name.should == 'repo_id'
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
it 'anchor should have labels' do
|
|
111
|
-
pending('
|
|
111
|
+
pending('Wrap into object')
|
|
112
112
|
@repos.anchor.labels.first.identifier.should == 'label.repos.repo_id'
|
|
113
113
|
end
|
|
114
114
|
|
|
115
115
|
it 'attribute should have labels' do
|
|
116
|
-
pending('
|
|
116
|
+
pending('Wrap into object')
|
|
117
117
|
@repos.attributes.first.labels.first.identifier.should == 'label.repos.department'
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
it 'commits should have one fact' do
|
|
121
|
-
pending('
|
|
121
|
+
pending('Wrap into object')
|
|
122
122
|
@commits.facts.size.should == 1
|
|
123
123
|
end
|
|
124
124
|
|
|
125
125
|
it 'Anchor on repos should have a label' do
|
|
126
|
-
pending('
|
|
126
|
+
pending('Wrap into object')
|
|
127
127
|
@repos.anchor.labels.size.should == 2
|
|
128
128
|
end
|
|
129
129
|
|
|
130
130
|
it 'should not have a label for a dataset without anchor with label' do
|
|
131
|
-
pending('
|
|
131
|
+
pending('Wrap into object')
|
|
132
132
|
@commits.anchor.should == nil
|
|
133
133
|
# @commits.to_schema.anchor.labels.empty?.should == true
|
|
134
134
|
end
|
|
@@ -5,14 +5,14 @@ require 'gooddata/models/project_role'
|
|
|
5
5
|
|
|
6
6
|
describe GoodData::ProjectRole do
|
|
7
7
|
before(:all) do
|
|
8
|
-
ConnectionHelper.create_default_connection
|
|
9
|
-
@project = ProjectHelper.get_default_project
|
|
8
|
+
@client = ConnectionHelper.create_default_connection
|
|
9
|
+
@project = ProjectHelper.get_default_project(:client => @client)
|
|
10
10
|
@roles = @project.roles
|
|
11
11
|
@role = @roles.first
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
after(:all) do
|
|
15
|
-
|
|
15
|
+
@client.disconnect
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
describe '#author' do
|
|
@@ -80,8 +80,6 @@ describe GoodData::ProjectRole do
|
|
|
80
80
|
|
|
81
81
|
describe '#users' do
|
|
82
82
|
it 'Returns users as Array<GoodData::Profile>' do
|
|
83
|
-
pending 'Disable as it is TOOOO SLOOOW'
|
|
84
|
-
|
|
85
83
|
res = @role.users
|
|
86
84
|
expect(res).to be_an_instance_of(Array)
|
|
87
85
|
res.each do |user|
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
# encoding: UTF-8
|
|
2
2
|
|
|
3
|
+
require 'pmap'
|
|
4
|
+
|
|
3
5
|
require 'gooddata'
|
|
4
6
|
|
|
5
7
|
describe GoodData::Project do
|
|
6
8
|
before(:each) do
|
|
7
|
-
ConnectionHelper::create_default_connection
|
|
9
|
+
@client = ConnectionHelper::create_default_connection
|
|
8
10
|
end
|
|
9
11
|
|
|
10
12
|
after(:each) do
|
|
11
|
-
|
|
13
|
+
@client.disconnect
|
|
12
14
|
end
|
|
13
15
|
|
|
14
16
|
def load_users_from_csv
|
|
@@ -40,19 +42,22 @@ describe GoodData::Project do
|
|
|
40
42
|
|
|
41
43
|
describe '#[]' do
|
|
42
44
|
it 'Accepts :all parameter' do
|
|
43
|
-
projects = GoodData::Project[:all]
|
|
45
|
+
projects = GoodData::Project[:all, :client => @client]
|
|
44
46
|
projects.should_not be_nil
|
|
45
47
|
projects.should be_a_kind_of(Array)
|
|
48
|
+
projects.pmap do |project|
|
|
49
|
+
expect(project).to be_an_instance_of(GoodData::Project)
|
|
50
|
+
end
|
|
46
51
|
end
|
|
47
52
|
|
|
48
53
|
it 'Returns project if ID passed' do
|
|
49
|
-
project = ProjectHelper
|
|
54
|
+
project = GoodData::Project[ProjectHelper::PROJECT_ID, :client => @client]
|
|
50
55
|
project.should_not be_nil
|
|
51
56
|
project.should be_a_kind_of(GoodData::Project)
|
|
52
57
|
end
|
|
53
58
|
|
|
54
59
|
it 'Returns project if URL passed' do
|
|
55
|
-
project = ProjectHelper
|
|
60
|
+
project = GoodData::Project[ProjectHelper::PROJECT_URL, :client => @client]
|
|
56
61
|
project.should_not be_nil
|
|
57
62
|
project.should be_a_kind_of(GoodData::Project)
|
|
58
63
|
end
|
|
@@ -65,7 +70,7 @@ describe GoodData::Project do
|
|
|
65
70
|
|
|
66
71
|
describe '#all' do
|
|
67
72
|
it 'Returns all projects' do
|
|
68
|
-
projects = GoodData::Project.all
|
|
73
|
+
projects = GoodData::Project.all(:client => @client)
|
|
69
74
|
projects.should_not be_nil
|
|
70
75
|
projects.should be_a_kind_of(Array)
|
|
71
76
|
end
|
|
@@ -73,7 +78,7 @@ describe GoodData::Project do
|
|
|
73
78
|
|
|
74
79
|
describe '#get_role_by_identifier' do
|
|
75
80
|
it 'Looks up for role by identifier' do
|
|
76
|
-
project = ProjectHelper.get_default_project
|
|
81
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
77
82
|
role = project.get_role_by_identifier('readOnlyUserRole')
|
|
78
83
|
role.should_not be_nil
|
|
79
84
|
role.should be_a_kind_of(GoodData::ProjectRole)
|
|
@@ -82,7 +87,7 @@ describe GoodData::Project do
|
|
|
82
87
|
|
|
83
88
|
describe '#get_role_by_summary' do
|
|
84
89
|
it 'Looks up for role by summary' do
|
|
85
|
-
project = ProjectHelper.get_default_project
|
|
90
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
86
91
|
role = project.get_role_by_summary('read only user role')
|
|
87
92
|
role.should_not be_nil
|
|
88
93
|
role.should be_a_kind_of(GoodData::ProjectRole)
|
|
@@ -91,7 +96,7 @@ describe GoodData::Project do
|
|
|
91
96
|
|
|
92
97
|
describe '#get_role_by_title' do
|
|
93
98
|
it 'Looks up for role by title' do
|
|
94
|
-
project = ProjectHelper.get_default_project
|
|
99
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
95
100
|
role = project.get_role_by_title('Viewer')
|
|
96
101
|
role.should_not be_nil
|
|
97
102
|
role.should be_a_kind_of(GoodData::ProjectRole)
|
|
@@ -100,26 +105,26 @@ describe GoodData::Project do
|
|
|
100
105
|
|
|
101
106
|
describe "#member" do
|
|
102
107
|
it 'Returns GoodData::Membership when looking for existing user using email' do
|
|
103
|
-
project = ProjectHelper.get_default_project
|
|
108
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
104
109
|
res = project.member('svarovsky+gem_tester@gooddata.com')
|
|
105
110
|
expect(res).to be_instance_of(GoodData::Membership)
|
|
106
111
|
end
|
|
107
112
|
|
|
108
113
|
it 'Returns GoodData::Membership when looking for existing user using URL' do
|
|
109
|
-
project = ProjectHelper.get_default_project
|
|
114
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
110
115
|
res = project.member(ConnectionHelper::DEFAULT_USER_URL)
|
|
111
116
|
expect(res).to be_instance_of(GoodData::Membership)
|
|
112
117
|
end
|
|
113
118
|
|
|
114
119
|
it 'Returns GoodData::Membership when looking for existing user using GoodData::Profile' do
|
|
115
|
-
project = ProjectHelper.get_default_project
|
|
120
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
116
121
|
user = project.members.first
|
|
117
122
|
res = project.member(user)
|
|
118
123
|
expect(res).to be_instance_of(GoodData::Membership)
|
|
119
124
|
end
|
|
120
125
|
|
|
121
126
|
it 'Returns null for non-existing user' do
|
|
122
|
-
project = ProjectHelper.get_default_project
|
|
127
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
123
128
|
res = project.member('jan.kokotko@gooddata.com')
|
|
124
129
|
res.should be_nil
|
|
125
130
|
end
|
|
@@ -127,39 +132,39 @@ describe GoodData::Project do
|
|
|
127
132
|
|
|
128
133
|
describe "#member?" do
|
|
129
134
|
it 'Returns true when looking for existing user using email' do
|
|
130
|
-
project = ProjectHelper.get_default_project
|
|
135
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
131
136
|
res = project.member?('svarovsky+gem_tester@gooddata.com')
|
|
132
137
|
res.should be_true
|
|
133
138
|
end
|
|
134
139
|
|
|
135
140
|
it 'Returns true when looking for existing user using URL' do
|
|
136
|
-
project = ProjectHelper.get_default_project
|
|
141
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
137
142
|
res = project.member?(ConnectionHelper::DEFAULT_USER_URL)
|
|
138
143
|
res.should be_true
|
|
139
144
|
end
|
|
140
145
|
|
|
141
146
|
it 'Returns true when looking for existing user using GoodData::Profile' do
|
|
142
|
-
project = ProjectHelper.get_default_project
|
|
147
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
143
148
|
user = project.members.first
|
|
144
149
|
res = project.member?(user)
|
|
145
150
|
res.should be_true
|
|
146
151
|
end
|
|
147
152
|
|
|
148
153
|
it 'Returns false for non-existing user' do
|
|
149
|
-
project = ProjectHelper.get_default_project
|
|
154
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
150
155
|
res = project.member?('jan.kokotko@gooddata.com')
|
|
151
156
|
res.should be_false
|
|
152
157
|
end
|
|
153
158
|
|
|
154
159
|
it 'Returns true for existing user when using optional list' do
|
|
155
|
-
project = ProjectHelper.get_default_project
|
|
160
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
156
161
|
list = project.members
|
|
157
162
|
res = project.member?('svarovsky+gem_tester@gooddata.com', list)
|
|
158
163
|
res.should be_true
|
|
159
164
|
end
|
|
160
165
|
|
|
161
166
|
it 'Returns false for non-existing user when using optional list' do
|
|
162
|
-
project = ProjectHelper.get_default_project
|
|
167
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
163
168
|
list = []
|
|
164
169
|
res = project.member?('svarovsky+gem_tester@gooddata.com', list)
|
|
165
170
|
res.should be_false
|
|
@@ -169,16 +174,16 @@ describe GoodData::Project do
|
|
|
169
174
|
describe '#processes' do
|
|
170
175
|
it 'Returns the processes' do
|
|
171
176
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
processes = proj.processes
|
|
177
|
+
project = GoodData::Project[ProjectHelper::PROJECT_ID, {:client => @client}]
|
|
178
|
+
processes = project.processes
|
|
175
179
|
expect(processes).to be_a_kind_of(Array)
|
|
176
180
|
end
|
|
177
181
|
end
|
|
178
182
|
|
|
179
183
|
describe '#roles' do
|
|
180
184
|
it 'Returns array of GoodData::ProjectRole' do
|
|
181
|
-
|
|
185
|
+
pending 'Investigate why is this soo slooow'
|
|
186
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
182
187
|
roles = project.roles
|
|
183
188
|
expect(roles).to be_instance_of(Array)
|
|
184
189
|
|
|
@@ -190,9 +195,9 @@ describe GoodData::Project do
|
|
|
190
195
|
|
|
191
196
|
describe '#users' do
|
|
192
197
|
it 'Returns array of GoodData::Users' do
|
|
193
|
-
pending '
|
|
198
|
+
pending 'Investigate why is this soo slooow'
|
|
194
199
|
|
|
195
|
-
project = GoodData::Project[ProjectHelper::PROJECT_ID]
|
|
200
|
+
project = GoodData::Project[ProjectHelper::PROJECT_ID, {:client => @client}]
|
|
196
201
|
|
|
197
202
|
invitations = project.invitations
|
|
198
203
|
invitations.should_not be_nil
|
|
@@ -220,7 +225,7 @@ describe GoodData::Project do
|
|
|
220
225
|
# invitations = user.invitations
|
|
221
226
|
# invitations.should_not be_nil
|
|
222
227
|
|
|
223
|
-
if(user.email == 'tomas.korcak@gooddata.com')
|
|
228
|
+
if (user.email == 'tomas.korcak@gooddata.com')
|
|
224
229
|
projects = user.projects
|
|
225
230
|
projects.should_not be_nil
|
|
226
231
|
expect(projects).to be_instance_of(Array)
|
|
@@ -235,7 +240,7 @@ describe GoodData::Project do
|
|
|
235
240
|
|
|
236
241
|
describe '#users_create' do
|
|
237
242
|
it 'Creates new users' do
|
|
238
|
-
project = ProjectHelper.get_default_project
|
|
243
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
239
244
|
|
|
240
245
|
users = (0...10).map do |i|
|
|
241
246
|
num = rand(1e6)
|
|
@@ -265,7 +270,8 @@ describe GoodData::Project do
|
|
|
265
270
|
GoodData::Membership.new(json)
|
|
266
271
|
end
|
|
267
272
|
|
|
268
|
-
|
|
273
|
+
project = GoodData::Project[ProjectHelper::PROJECT_ID, {:client => @client}]
|
|
274
|
+
res = GoodData::Domain.users_create(users, nil, {:client => @client, :project => project})
|
|
269
275
|
|
|
270
276
|
project.users_create(users)
|
|
271
277
|
|
|
@@ -280,7 +286,7 @@ describe GoodData::Project do
|
|
|
280
286
|
describe '#users_import' do
|
|
281
287
|
it 'Import users from CSV' do
|
|
282
288
|
|
|
283
|
-
project = GoodData::Project[ProjectHelper::PROJECT_ID]
|
|
289
|
+
project = GoodData::Project[ProjectHelper::PROJECT_ID, {:client => @client}]
|
|
284
290
|
|
|
285
291
|
new_users = load_users_from_csv
|
|
286
292
|
|
|
@@ -290,7 +296,7 @@ describe GoodData::Project do
|
|
|
290
296
|
|
|
291
297
|
describe '#set_user_roles' do
|
|
292
298
|
it 'Properly updates user roles as needed' do
|
|
293
|
-
project = ProjectHelper.get_default_project
|
|
299
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
294
300
|
|
|
295
301
|
project.set_user_roles(ConnectionHelper::DEFAULT_USERNAME, 'admin')
|
|
296
302
|
end
|
|
@@ -298,12 +304,12 @@ describe GoodData::Project do
|
|
|
298
304
|
|
|
299
305
|
describe '#set_users_roles' do
|
|
300
306
|
it 'Properly updates user roles as needed for bunch of users' do
|
|
301
|
-
project = ProjectHelper.get_default_project
|
|
307
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
302
308
|
|
|
303
309
|
list = load_users_from_csv
|
|
304
310
|
|
|
305
311
|
# Create domain users
|
|
306
|
-
domain_users = GoodData::Domain.users_create(list, ConnectionHelper::DEFAULT_DOMAIN)
|
|
312
|
+
domain_users = GoodData::Domain.users_create(list, ConnectionHelper::DEFAULT_DOMAIN, :client => @client, :project => project)
|
|
307
313
|
expect(domain_users.length).to equal(list.length)
|
|
308
314
|
|
|
309
315
|
# Create list with user, desired_roles hashes
|
|
@@ -326,12 +332,12 @@ describe GoodData::Project do
|
|
|
326
332
|
end
|
|
327
333
|
|
|
328
334
|
domain_users.each do |user|
|
|
329
|
-
|
|
335
|
+
user.delete if user.email != ConnectionHelper::DEFAULT_USERNAME
|
|
330
336
|
end
|
|
331
337
|
end
|
|
332
338
|
|
|
333
339
|
it 'Properly updates user roles when user specified by email and :roles specified as array of string with role names' do
|
|
334
|
-
project = ProjectHelper.get_default_project
|
|
340
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
335
341
|
|
|
336
342
|
list = [
|
|
337
343
|
{
|
|
@@ -345,7 +351,7 @@ describe GoodData::Project do
|
|
|
345
351
|
end
|
|
346
352
|
|
|
347
353
|
it 'Properly updates user roles when user specified by email and :roles specified as string with role name' do
|
|
348
|
-
project = ProjectHelper.get_default_project
|
|
354
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
349
355
|
|
|
350
356
|
list = [
|
|
351
357
|
{
|
|
@@ -361,7 +367,7 @@ describe GoodData::Project do
|
|
|
361
367
|
|
|
362
368
|
describe '#summary' do
|
|
363
369
|
it 'Properly gets title of project' do
|
|
364
|
-
project = ProjectHelper.get_default_project
|
|
370
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
365
371
|
|
|
366
372
|
res = project.summary
|
|
367
373
|
expect(res).to include(ProjectHelper::PROJECT_SUMMARY)
|
|
@@ -370,7 +376,7 @@ describe GoodData::Project do
|
|
|
370
376
|
|
|
371
377
|
describe '#title' do
|
|
372
378
|
it 'Properly gets title of project' do
|
|
373
|
-
project = ProjectHelper.get_default_project
|
|
379
|
+
project = ProjectHelper.get_default_project(:client => @client)
|
|
374
380
|
|
|
375
381
|
res = project.title
|
|
376
382
|
expect(res).to include(ProjectHelper::PROJECT_TITLE)
|