kgrift 1.3.108

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +7 -0
  2. data/KGrift/Gemfile +22 -0
  3. data/KGrift/README.md +66 -0
  4. data/KGrift/bin/kgrift +11 -0
  5. data/KGrift/grifter.yml +224 -0
  6. data/KGrift/internal_test_graphs/basic_test_graph_definition.yml +2915 -0
  7. data/KGrift/internal_test_graphs/unicode_test_graph_definition.yml +3070 -0
  8. data/KGrift/knewton_grifts/analytics_grifts.rb +103 -0
  9. data/KGrift/knewton_grifts/async_helper_grifts.rb +63 -0
  10. data/KGrift/knewton_grifts/authenticator_grifts.rb +46 -0
  11. data/KGrift/knewton_grifts/basic_grifts.rb +29 -0
  12. data/KGrift/knewton_grifts/batch_grifts.rb +14 -0
  13. data/KGrift/knewton_grifts/content_collection_grifts.rb +204 -0
  14. data/KGrift/knewton_grifts/content_collection_v1_grifts.rb +521 -0
  15. data/KGrift/knewton_grifts/content_eid_grifts.rb +41 -0
  16. data/KGrift/knewton_grifts/copy_grifts.rb +151 -0
  17. data/KGrift/knewton_grifts/deprecated_graph_and_taxonomy_grifts.rb +353 -0
  18. data/KGrift/knewton_grifts/goal_grifts.rb +203 -0
  19. data/KGrift/knewton_grifts/graph_and_taxonomy_grifts.rb +136 -0
  20. data/KGrift/knewton_grifts/graph_create_grifts.rb +34 -0
  21. data/KGrift/knewton_grifts/graph_query_grifts.rb +448 -0
  22. data/KGrift/knewton_grifts/graph_tools_grifts.rb +151 -0
  23. data/KGrift/knewton_grifts/graph_validation_grifts.rb +447 -0
  24. data/KGrift/knewton_grifts/helper_grifts.rb +92 -0
  25. data/KGrift/knewton_grifts/jmeter_data_grifts.rb +56 -0
  26. data/KGrift/knewton_grifts/learning_instance_grifts.rb +46 -0
  27. data/KGrift/knewton_grifts/looper_grifts.rb +34 -0
  28. data/KGrift/knewton_grifts/moxy_grifts.rb +64 -0
  29. data/KGrift/knewton_grifts/oauth_grifts.rb +182 -0
  30. data/KGrift/knewton_grifts/partner_grifts.rb +70 -0
  31. data/KGrift/knewton_grifts/partner_support_grifts.rb +85 -0
  32. data/KGrift/knewton_grifts/recommendation_setup_grifts.rb +215 -0
  33. data/KGrift/knewton_grifts/registration_grifts.rb +159 -0
  34. data/KGrift/knewton_grifts/registration_info_grifts.rb +23 -0
  35. data/KGrift/knewton_grifts/report_grifts.rb +122 -0
  36. data/KGrift/knewton_grifts/shell_command_grifts.rb +21 -0
  37. data/KGrift/knewton_grifts/student_flow_grifts.rb +560 -0
  38. data/KGrift/knewton_grifts/tag_grifts.rb +41 -0
  39. data/KGrift/knewton_grifts/test_data_grifts.rb +328 -0
  40. data/KGrift/knewton_grifts/test_user_grifts.rb +264 -0
  41. data/KGrift/lib/dtrace.rb +20 -0
  42. data/KGrift/lib/kgrift.rb +7 -0
  43. data/KGrift/test_data_generators/basic_book_and_taxonomies.rb +35 -0
  44. data/KGrift/test_data_generators/lo_test_graph.rb +34 -0
  45. data/KGrift/test_data_generators/partner_owned_book_and_taxonomies.rb +28 -0
  46. data/KGrift/test_data_generators/partner_owned_book_and_taxonomies_unicode.rb +28 -0
  47. data/KGrift/test_data_generators/sandcastle_book_and_taxonomies.rb +13 -0
  48. data/KGrift/test_data_generators/sandcastle_book_and_taxonomies.yml +3709 -0
  49. data/KGrift/test_data_generators/sandcastle_graph.rb +8 -0
  50. data/KGrift/test_data_generators/sandcastle_graph_definition.json +4483 -0
  51. data/KGrift/test_data_generators/sandcastle_graph_full.rb +7 -0
  52. data/KGrift/test_data_generators/sandcastle_taxonomies.yml +378 -0
  53. data/KGrift/test_data_generators/sandcastle_with_taxons.rb +56 -0
  54. data/KGrift/test_data_generators/sandcastle_with_taxons.yml +3994 -0
  55. data/KGrift/test_data_generators/test_users_and_partners.rb +76 -0
  56. data/kgrift.gemspec +43 -0
  57. metadata +144 -0
@@ -0,0 +1,76 @@
1
+ wait_for_api_to_respond
2
+
3
+ test_knerd_credentials = knerd_accounts['knerd']
4
+
5
+ #make sure we can login, and stop immediately if we can not
6
+ begin
7
+ set_account test_knerd_credentials
8
+ rescue Exception => e
9
+ Kernel.abort "ERROR: Failed to login using knewton partner that should just be there:\n#{e.to_s}"
10
+ end
11
+
12
+ accounts = {
13
+ 'system_user_default' => {'client'=>'test_partner_default'},
14
+ 'system_user_a' => {'client'=>'test_partner_a'},
15
+ 'system_user_b' => {'client'=>'test_partner_b'},
16
+ 'user_default' => {'client'=>'test_partner_default'},
17
+ 'user_a' => {'client'=>'test_partner_a'},
18
+ 'user_b' => {'client'=>'test_partner_b'},
19
+ }
20
+ partners = {
21
+ 'test_partner_default' => {},
22
+ 'test_partner_a' => {},
23
+ 'test_partner_b' => {},
24
+ }
25
+
26
+ #add test partners
27
+ partners.each_pair do |client_label, client_data|
28
+ password = random_string
29
+
30
+ # make the partner with a high rate_limit_multiplier to avoid any
31
+ # token based rate limit issues with these test partners
32
+ # rate limits are tested with different partners
33
+ credentials = create_partner 'password' => password,
34
+ 'display_name' => "#{client_label} #{random_string(8)}",
35
+ 'rate_limit_multiplier' => 100.0
36
+
37
+ full_credentials = {
38
+ 'client_id' => credentials['name'],
39
+ 'client_secret' => password,
40
+ 'partner_id' => credentials['id'],
41
+ }
42
+ client_data.merge! full_credentials
43
+ end
44
+
45
+ #add system accounts
46
+ accounts.select{|k,v| k.start_with? 'system_user'}.each_pair do |account_label, account_data|
47
+ partner = partners[accounts[account_label]['client']]
48
+ account_data['client_credentials'] = {
49
+ 'client_id' => partner['client_id'],
50
+ 'client_secret' => partner['client_secret'],
51
+ }
52
+ account_data['external_user_id'] = (create_system_user partner['partner_id'])['external_user_id']
53
+ end
54
+
55
+ #add regular user accounts
56
+ accounts.select{|k,v| k.start_with? 'user'}.each_pair do |account_label, account_data|
57
+ partner = partners[accounts[account_label]['client']]
58
+ system_user = accounts.select{|k,v| v['client']==account_data['client'] and
59
+ k.start_with?('system_user')}.map{|k,v| v}.first
60
+ #create users as a partner system user
61
+ as_account system_user['external_user_id'], system_user['client_credentials'] do
62
+ account_data['client_credentials'] = {
63
+ 'client_id' => partner['client_id'],
64
+ 'client_secret' => partner['client_secret'],
65
+ }
66
+ account_data['external_user_id'] = (create_account)['external_user_id']
67
+ end
68
+ end
69
+
70
+ unauthenticate
71
+
72
+ #return all accounts and partners
73
+ {
74
+ 'accounts' => accounts,
75
+ 'partners' => partners,
76
+ }
@@ -0,0 +1,43 @@
1
+
2
+ Gem::Specification.new do |s|
3
+
4
+ s.name = 'kgrift'
5
+
6
+ # define the version of the gem
7
+ # Major and Minor are incremented manually when appropriate
8
+ # Patch version is taken from jenkins BUILD_NUMBER env var, which should continuously increment
9
+ major = '1'
10
+ minor = '3'
11
+ patch = ENV.fetch 'BUILD_NUMBER', '1'
12
+ s.version = "#{major}.#{minor}.#{patch}"
13
+
14
+ s.description = "Interact with the Knewton Enterprise API through a DSL."
15
+ s.homepage = "https://confluence.knewton.net/display/TECH/kgrift"
16
+
17
+ s.licenses = ['Dont distribute anywhere external']
18
+ s.summary = "A grifter based API client for Knewton internal use"
19
+ s.description = "A grifter based API client for Knewton internal use. includes a DSL which can be used in programs, scripts, or right off the cmd line using the included 'kgrift' utility"
20
+ s.homepage = 'https://knewton.atlassian.net/wiki/display/TECH/kgrift'
21
+ s.authors = ["Rob Schultheis", "Alan Gerber"]
22
+ s.email = 'rob@knewton.com'
23
+
24
+ s.files = [
25
+ 'kgrift.gemspec',
26
+ 'KGrift/grifter.yml',
27
+ 'KGrift/Gemfile',
28
+ 'KGrift/README.md',
29
+ ] +
30
+ Dir['KGrift/bin/**/*'] +
31
+ Dir['KGrift/lib/**/*'] +
32
+ Dir['KGrift/knewton_grifts/**/*'] +
33
+ Dir['KGrift/test_data_generators/**/*'] +
34
+ Dir['KGrift/internal_test_graphs/*.yml']
35
+
36
+ s.bindir = 'KGrift/bin'
37
+ s.executables << 'kgrift'
38
+ s.require_paths = ['KGrift/lib']
39
+
40
+ s.add_runtime_dependency 'grifter', '= 0.4.2'
41
+ s.add_runtime_dependency 'aws-sdk', '= 2.0.26'
42
+ s.add_runtime_dependency 'activesupport', '= 3.2.13'
43
+ end
metadata ADDED
@@ -0,0 +1,144 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: kgrift
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.108
5
+ platform: ruby
6
+ authors:
7
+ - Rob Schultheis
8
+ - Alan Gerber
9
+ autorequire:
10
+ bindir: KGrift/bin
11
+ cert_chain: []
12
+ date: 2016-01-21 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: grifter
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - '='
19
+ - !ruby/object:Gem::Version
20
+ version: 0.4.2
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - '='
26
+ - !ruby/object:Gem::Version
27
+ version: 0.4.2
28
+ - !ruby/object:Gem::Dependency
29
+ name: aws-sdk
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - '='
33
+ - !ruby/object:Gem::Version
34
+ version: 2.0.26
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '='
40
+ - !ruby/object:Gem::Version
41
+ version: 2.0.26
42
+ - !ruby/object:Gem::Dependency
43
+ name: activesupport
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - '='
47
+ - !ruby/object:Gem::Version
48
+ version: 3.2.13
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - '='
54
+ - !ruby/object:Gem::Version
55
+ version: 3.2.13
56
+ description: A grifter based API client for Knewton internal use. includes a DSL
57
+ which can be used in programs, scripts, or right off the cmd line using the included
58
+ 'kgrift' utility
59
+ email: rob@knewton.com
60
+ executables:
61
+ - kgrift
62
+ extensions: []
63
+ extra_rdoc_files: []
64
+ files:
65
+ - KGrift/Gemfile
66
+ - KGrift/README.md
67
+ - KGrift/bin/kgrift
68
+ - KGrift/grifter.yml
69
+ - KGrift/internal_test_graphs/basic_test_graph_definition.yml
70
+ - KGrift/internal_test_graphs/unicode_test_graph_definition.yml
71
+ - KGrift/knewton_grifts/analytics_grifts.rb
72
+ - KGrift/knewton_grifts/async_helper_grifts.rb
73
+ - KGrift/knewton_grifts/authenticator_grifts.rb
74
+ - KGrift/knewton_grifts/basic_grifts.rb
75
+ - KGrift/knewton_grifts/batch_grifts.rb
76
+ - KGrift/knewton_grifts/content_collection_grifts.rb
77
+ - KGrift/knewton_grifts/content_collection_v1_grifts.rb
78
+ - KGrift/knewton_grifts/content_eid_grifts.rb
79
+ - KGrift/knewton_grifts/copy_grifts.rb
80
+ - KGrift/knewton_grifts/deprecated_graph_and_taxonomy_grifts.rb
81
+ - KGrift/knewton_grifts/goal_grifts.rb
82
+ - KGrift/knewton_grifts/graph_and_taxonomy_grifts.rb
83
+ - KGrift/knewton_grifts/graph_create_grifts.rb
84
+ - KGrift/knewton_grifts/graph_query_grifts.rb
85
+ - KGrift/knewton_grifts/graph_tools_grifts.rb
86
+ - KGrift/knewton_grifts/graph_validation_grifts.rb
87
+ - KGrift/knewton_grifts/helper_grifts.rb
88
+ - KGrift/knewton_grifts/jmeter_data_grifts.rb
89
+ - KGrift/knewton_grifts/learning_instance_grifts.rb
90
+ - KGrift/knewton_grifts/looper_grifts.rb
91
+ - KGrift/knewton_grifts/moxy_grifts.rb
92
+ - KGrift/knewton_grifts/oauth_grifts.rb
93
+ - KGrift/knewton_grifts/partner_grifts.rb
94
+ - KGrift/knewton_grifts/partner_support_grifts.rb
95
+ - KGrift/knewton_grifts/recommendation_setup_grifts.rb
96
+ - KGrift/knewton_grifts/registration_grifts.rb
97
+ - KGrift/knewton_grifts/registration_info_grifts.rb
98
+ - KGrift/knewton_grifts/report_grifts.rb
99
+ - KGrift/knewton_grifts/shell_command_grifts.rb
100
+ - KGrift/knewton_grifts/student_flow_grifts.rb
101
+ - KGrift/knewton_grifts/tag_grifts.rb
102
+ - KGrift/knewton_grifts/test_data_grifts.rb
103
+ - KGrift/knewton_grifts/test_user_grifts.rb
104
+ - KGrift/lib/dtrace.rb
105
+ - KGrift/lib/kgrift.rb
106
+ - KGrift/test_data_generators/basic_book_and_taxonomies.rb
107
+ - KGrift/test_data_generators/lo_test_graph.rb
108
+ - KGrift/test_data_generators/partner_owned_book_and_taxonomies.rb
109
+ - KGrift/test_data_generators/partner_owned_book_and_taxonomies_unicode.rb
110
+ - KGrift/test_data_generators/sandcastle_book_and_taxonomies.rb
111
+ - KGrift/test_data_generators/sandcastle_book_and_taxonomies.yml
112
+ - KGrift/test_data_generators/sandcastle_graph.rb
113
+ - KGrift/test_data_generators/sandcastle_graph_definition.json
114
+ - KGrift/test_data_generators/sandcastle_graph_full.rb
115
+ - KGrift/test_data_generators/sandcastle_taxonomies.yml
116
+ - KGrift/test_data_generators/sandcastle_with_taxons.rb
117
+ - KGrift/test_data_generators/sandcastle_with_taxons.yml
118
+ - KGrift/test_data_generators/test_users_and_partners.rb
119
+ - kgrift.gemspec
120
+ homepage: https://knewton.atlassian.net/wiki/display/TECH/kgrift
121
+ licenses:
122
+ - Dont distribute anywhere external
123
+ metadata: {}
124
+ post_install_message:
125
+ rdoc_options: []
126
+ require_paths:
127
+ - KGrift/lib
128
+ required_ruby_version: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ required_rubygems_version: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ requirements: []
139
+ rubyforge_project:
140
+ rubygems_version: 2.4.5
141
+ signing_key:
142
+ specification_version: 4
143
+ summary: A grifter based API client for Knewton internal use
144
+ test_files: []