jgrouper 0.0.5 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.autotest +35 -0
- data/.gitignore +5 -3
- data/Gemfile +3 -0
- data/HISTORY.md +20 -0
- data/{LICENSE → LICENSE.txt} +2 -2
- data/README.rdoc +2 -65
- data/Rakefile +0 -20
- data/TODO.md +4 -13
- data/bin/jgrouper-audit-archiver +39 -0
- data/bin/jgrouper-export +39 -0
- data/jgrouper.gemspec +20 -22
- data/lib/jgrouper/audit_archiver.rb +330 -0
- data/lib/jgrouper/exporter.rb +85 -0
- data/lib/jgrouper/group.rb +18 -94
- data/lib/jgrouper/member.rb +47 -0
- data/lib/jgrouper/stem.rb +43 -96
- data/lib/jgrouper/version.rb +2 -1
- data/lib/jgrouper.rb +20 -93
- metadata +26 -108
- data/lib/jgrouper/group/test_case.rb +0 -18
- data/lib/jgrouper/group_type/test_case.rb +0 -23
- data/lib/jgrouper/group_type.rb +0 -129
- data/lib/jgrouper/stem/test_case.rb +0 -33
- data/lib/jgrouper/subject/test_case.rb +0 -23
- data/lib/jgrouper/subject.rb +0 -83
- data/test/factories.rb +0 -85
- data/test/helper.rb +0 -17
- data/test/test_group.rb +0 -60
- data/test/test_group_type.rb +0 -106
- data/test/test_stem.rb +0 -90
- data/test/test_subject.rb +0 -36
data/lib/jgrouper/group_type.rb
DELETED
@@ -1,129 +0,0 @@
|
|
1
|
-
module JGrouper # :nodoc:
|
2
|
-
#
|
3
|
-
# = JGrouper::GroupType - A Grouper group type
|
4
|
-
#
|
5
|
-
class GroupType
|
6
|
-
|
7
|
-
attr_accessor :name, :uuid
|
8
|
-
attr_reader :error
|
9
|
-
|
10
|
-
def initialize
|
11
|
-
@grouper_group_type = nil
|
12
|
-
yield self if block_given?
|
13
|
-
self
|
14
|
-
end
|
15
|
-
|
16
|
-
#
|
17
|
-
# Find all group types.
|
18
|
-
#
|
19
|
-
# group_types = JGrouper::GroupType.all do |group_type|
|
20
|
-
# ...
|
21
|
-
# end
|
22
|
-
#
|
23
|
-
def self.all
|
24
|
-
group_types = Java::EduInternet2MiddlewareGrouper::GroupTypeFinder.findAll.collect { |gt| from_grouper gt }
|
25
|
-
group_types.each { |_| yield _ } if block_given?
|
26
|
-
group_types
|
27
|
-
end
|
28
|
-
|
29
|
-
#
|
30
|
-
# Create group type.
|
31
|
-
#
|
32
|
-
# group_type = JGrouper::GroupType.create name
|
33
|
-
#
|
34
|
-
def self.create(name)
|
35
|
-
group_type = from_grouper Java::EduInternet2MiddlewareGrouper::GroupType.createType( GrouperSession.startRootSession, name )
|
36
|
-
yield group_type if block_given?
|
37
|
-
group_type
|
38
|
-
end
|
39
|
-
|
40
|
-
#
|
41
|
-
# Delete group type. Returns +false+ on failure.
|
42
|
-
#
|
43
|
-
# JGrouper::GroupType.delete(name)
|
44
|
-
#
|
45
|
-
def self.delete(name)
|
46
|
-
group_type = find(name)
|
47
|
-
return false if group_type.nil?
|
48
|
-
group_type.delete
|
49
|
-
end
|
50
|
-
|
51
|
-
#
|
52
|
-
# Delete group type. Sets +error+ and returns +false+ on failure.
|
53
|
-
#
|
54
|
-
# group_type.delete
|
55
|
-
#
|
56
|
-
def delete
|
57
|
-
begin
|
58
|
-
@grouper_group_type.delete GrouperSession.startRootSession # XXX How to handle sessions?
|
59
|
-
return true
|
60
|
-
rescue Exception => e
|
61
|
-
@error = e
|
62
|
-
end
|
63
|
-
false
|
64
|
-
end
|
65
|
-
|
66
|
-
#
|
67
|
-
# Find a group type by name.
|
68
|
-
#
|
69
|
-
# group_type = JGrouper::GroupType.find(name)
|
70
|
-
#
|
71
|
-
def self.find(name)
|
72
|
-
group_type = from_grouper Java::EduInternet2MiddlewareGrouper::GroupTypeFinder.find(name, false)
|
73
|
-
yield group_type if block_given?
|
74
|
-
group_type
|
75
|
-
end
|
76
|
-
|
77
|
-
#
|
78
|
-
# Generate JGrouper::GroupType instance from JSON by calling +JSON.parse(json_string)+
|
79
|
-
#
|
80
|
-
def self.json_create(json)
|
81
|
-
new do |group_type|
|
82
|
-
group_type.name = json['name']
|
83
|
-
group_type.uuid = json['uuid']
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def method_missing(meth, *args, &block)
|
88
|
-
begin
|
89
|
-
block.call @grouper_group_type.send(meth, *args) if block
|
90
|
-
@grouper_group_type.send(meth, *args)
|
91
|
-
rescue NoMethodError
|
92
|
-
super
|
93
|
-
end
|
94
|
-
end
|
95
|
-
|
96
|
-
#
|
97
|
-
# Return JSON representation of JGrouper::GroupType instance.
|
98
|
-
#
|
99
|
-
def to_json
|
100
|
-
{
|
101
|
-
:json_class => self.class.name,
|
102
|
-
:name => self.name,
|
103
|
-
:uuid => self.uuid
|
104
|
-
}.to_json
|
105
|
-
end
|
106
|
-
|
107
|
-
#
|
108
|
-
# Return String representation of JGrouper::GroupType instance.
|
109
|
-
#
|
110
|
-
def to_s
|
111
|
-
%w( name uuid ).collect { |k| "#{k}=#{ self.send(k) }" }.join(' | ')
|
112
|
-
end
|
113
|
-
|
114
|
-
|
115
|
-
private
|
116
|
-
|
117
|
-
def self.from_grouper(grouper)
|
118
|
-
return nil if grouper.nil?
|
119
|
-
new do |group_type|
|
120
|
-
group_type.instance_variable_set :@grouper_group_type, grouper # XXX Is this even needed?
|
121
|
-
|
122
|
-
group_type.name = grouper.getName
|
123
|
-
group_type.uuid = grouper.getUuid
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
@@ -1,33 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'test/unit'
|
4
|
-
require 'factory_girl'
|
5
|
-
|
6
|
-
|
7
|
-
class JGrouper # :nodoc:
|
8
|
-
#
|
9
|
-
# = JGrouper::Stem::TestCase - For testing JGrouper::Stem
|
10
|
-
#
|
11
|
-
class Stem::TestCase < Test::Unit::TestCase
|
12
|
-
|
13
|
-
def grouper_root_stem
|
14
|
-
FactoryGirl.build :grouper_root_stem
|
15
|
-
end
|
16
|
-
|
17
|
-
def grouper_stem(name)
|
18
|
-
case name.to_sym
|
19
|
-
when :foo
|
20
|
-
FactoryGirl.build :grouper_stem_foo
|
21
|
-
when :"foo:bar"
|
22
|
-
FactoryGirl.build :grouper_stem_foo_bar
|
23
|
-
end
|
24
|
-
raise ArgumentError, "invalid name: #{name}"
|
25
|
-
end
|
26
|
-
|
27
|
-
def root_stem_as_json
|
28
|
-
FactoryGirl.attributes_for(:root_stem).to_json
|
29
|
-
end
|
30
|
-
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'test/unit'
|
4
|
-
require 'factory_girl'
|
5
|
-
|
6
|
-
|
7
|
-
class JGrouper #: :nodoc:
|
8
|
-
#
|
9
|
-
# = JGrouper::Subject::TestCase - For testing JGrouper::Subject
|
10
|
-
#
|
11
|
-
class Subject::TestCase < Test::Unit::TestCase
|
12
|
-
|
13
|
-
def grouper_root_subject
|
14
|
-
FactoryGirl.build :grouper_root_subject
|
15
|
-
end
|
16
|
-
|
17
|
-
def root_subject_as_json
|
18
|
-
FactoryGirl.attributes_for(:root_subject).to_json
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
data/lib/jgrouper/subject.rb
DELETED
@@ -1,83 +0,0 @@
|
|
1
|
-
module JGrouper #: :nodoc:
|
2
|
-
#
|
3
|
-
# = JGrouper::Subject - A Grouper subject.
|
4
|
-
#
|
5
|
-
class Subject
|
6
|
-
|
7
|
-
attr_accessor :id, :name, :source, :type
|
8
|
-
|
9
|
-
def initialize
|
10
|
-
@grouper_subject = nil
|
11
|
-
yield self if block_given?
|
12
|
-
self
|
13
|
-
end
|
14
|
-
|
15
|
-
#
|
16
|
-
# Generate JGrouper::Subject instance from JSON by calling +JSON.parse(json_string)+
|
17
|
-
#
|
18
|
-
def self.json_create(json)
|
19
|
-
new do |subject|
|
20
|
-
subject.id = json['id']
|
21
|
-
subject.name = json['name']
|
22
|
-
subject.source = json['source']
|
23
|
-
subject.type = json['type']
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
def method_missing(meth, *args, &block)
|
28
|
-
begin
|
29
|
-
block.call @grouper_subject.send(meth, *args) if block
|
30
|
-
@grouper_subject.send(meth, *args)
|
31
|
-
rescue NoMethodError
|
32
|
-
super
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
#
|
37
|
-
# Return root subject.
|
38
|
-
#
|
39
|
-
# root_subject = JGrouper::Subject.root
|
40
|
-
#
|
41
|
-
def self.root
|
42
|
-
subject = from_grouper SubjectFinder.findRootSubject
|
43
|
-
yield subject if block_given?
|
44
|
-
subject
|
45
|
-
end
|
46
|
-
|
47
|
-
#
|
48
|
-
# Return JSON representation of JGrouper::Subject instance.
|
49
|
-
#
|
50
|
-
def to_json
|
51
|
-
{
|
52
|
-
:json_class => self.class.name,
|
53
|
-
:id => self.id,
|
54
|
-
:name => self.name,
|
55
|
-
:source => self.source,
|
56
|
-
:type => self.type
|
57
|
-
}.to_json
|
58
|
-
end
|
59
|
-
|
60
|
-
#
|
61
|
-
# Return String representation of JGrouper::Subject instance.
|
62
|
-
#
|
63
|
-
def to_s
|
64
|
-
%w( id name type source ).collect { |k| "#{k}=#{ self.send(k) }" }.join(' | ')
|
65
|
-
end
|
66
|
-
|
67
|
-
|
68
|
-
private
|
69
|
-
|
70
|
-
def self.from_grouper(grouper)
|
71
|
-
new do |subject|
|
72
|
-
subject.instance_variable_set :@grouper_subject, grouper # XXX Is this even needed?
|
73
|
-
|
74
|
-
subject.id = grouper.getId
|
75
|
-
subject.name = grouper.getName
|
76
|
-
subject.source = grouper.sourceId
|
77
|
-
subject.type = grouper.typeName
|
78
|
-
end
|
79
|
-
end
|
80
|
-
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
data/test/factories.rb
DELETED
@@ -1,85 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'factory_girl'
|
4
|
-
|
5
|
-
|
6
|
-
FactoryGirl.define do
|
7
|
-
# Groups
|
8
|
-
factory :grouper_wheel_group, class: OpenStruct do
|
9
|
-
getDisplayExtension 'Wheel'
|
10
|
-
getDisplayName 'Etc:Wheel'
|
11
|
-
getExtension 'wheel'
|
12
|
-
getName 'etc:wheel'
|
13
|
-
getTypes [ 'base'] # FIXME
|
14
|
-
getUuid 'etc-wheel-group'
|
15
|
-
end
|
16
|
-
|
17
|
-
factory :wheel_group, class: OpenStruct do
|
18
|
-
json_class JGrouper::Group
|
19
|
-
display_extension 'Wheel'
|
20
|
-
display_name 'Etc:Wheel'
|
21
|
-
extension 'wheel'
|
22
|
-
name 'etc:wheel'
|
23
|
-
types [ 'base' ]
|
24
|
-
uuid 'etc-wheel-group'
|
25
|
-
end
|
26
|
-
|
27
|
-
|
28
|
-
# Group Types
|
29
|
-
factory :jgrouper_type, class: OpenStruct do
|
30
|
-
json_class JGrouper::GroupType
|
31
|
-
name 'jgrouper'
|
32
|
-
uuid 'some-fake-uuid'
|
33
|
-
end
|
34
|
-
|
35
|
-
factory :jgrouper_grouper_type, class: OpenStruct do
|
36
|
-
getName 'jgrouper'
|
37
|
-
getUuid 'some-fake-uuid'
|
38
|
-
end
|
39
|
-
|
40
|
-
|
41
|
-
# Stems
|
42
|
-
factory :grouper_root_stem, class: OpenStruct do
|
43
|
-
getDisplayName ''
|
44
|
-
getName ''
|
45
|
-
getUuid 'some-fake-uuid'
|
46
|
-
end
|
47
|
-
|
48
|
-
factory :grouper_stem_foo, class: OpenStruct do
|
49
|
-
getDisplayName 'foo'
|
50
|
-
getName 'foo'
|
51
|
-
getUuid 'stem-foo'
|
52
|
-
end
|
53
|
-
|
54
|
-
factory :grouper_stem_foo_bar, class: OpenStruct do
|
55
|
-
getDisplayName 'foo:Bar'
|
56
|
-
getName 'foo:bar'
|
57
|
-
getUuid 'stem-foo-bar'
|
58
|
-
end
|
59
|
-
|
60
|
-
factory :root_stem, class: OpenStruct do
|
61
|
-
json_class JGrouper::Stem
|
62
|
-
display_name ''
|
63
|
-
name ''
|
64
|
-
uuid 'some-fake-uuid'
|
65
|
-
end
|
66
|
-
|
67
|
-
|
68
|
-
# Subjects
|
69
|
-
factory :grouper_root_subject, class: OpenStruct do
|
70
|
-
getId 'GrouperSystem'
|
71
|
-
getName 'GrouperSysAdmin'
|
72
|
-
sourceId 'g:isa'
|
73
|
-
typeName 'application'
|
74
|
-
end
|
75
|
-
|
76
|
-
factory :root_subject, class: OpenStruct do
|
77
|
-
json_class JGrouper::Subject
|
78
|
-
id 'GrouperSystem'
|
79
|
-
name 'GrouperSysAdmin'
|
80
|
-
source 'g:isa'
|
81
|
-
type 'application'
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
85
|
-
|
data/test/helper.rb
DELETED
@@ -1,17 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
# TODO JGrouper::TestCase
|
4
|
-
|
5
|
-
require 'test/unit'
|
6
|
-
require 'mocha'
|
7
|
-
require 'ostruct'
|
8
|
-
|
9
|
-
require_relative '../lib/jgrouper'
|
10
|
-
require_relative 'factories'
|
11
|
-
|
12
|
-
require 'simplecov'
|
13
|
-
SimpleCov.start
|
14
|
-
|
15
|
-
raise RuntimeError, "ENV[GROUPER_HOME'] must be set!" unless ENV['GROUPER_HOME']
|
16
|
-
JGrouper.home ENV['GROUPER_HOME']
|
17
|
-
|
data/test/test_group.rb
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require_relative 'helper'
|
4
|
-
require_relative '../lib/jgrouper/group/test_case'
|
5
|
-
|
6
|
-
|
7
|
-
class JGrouper::Group::TestCase < Test::Unit::TestCase
|
8
|
-
|
9
|
-
def test_mocked_find_wheel
|
10
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
11
|
-
Java::EduInternet2MiddlewareGrouper::GroupFinder.expects(:findByName).returns grouper_wheel_group
|
12
|
-
|
13
|
-
JGrouper::Group.find('etc:wheel') do |group|
|
14
|
-
assert_not_nil group
|
15
|
-
assert group.kind_of? JGrouper::Group
|
16
|
-
assert_equal 'Wheel', group.display_extension
|
17
|
-
assert_equal 'Etc:Wheel', group.display_name
|
18
|
-
assert_equal 'wheel', group.extension
|
19
|
-
assert_equal 'etc:wheel', group.name
|
20
|
-
assert_equal [ 'base' ], group.types # FIXME
|
21
|
-
assert_equal 'etc-wheel-group', group.uuid
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_mocked_group_to_json
|
26
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
27
|
-
Java::EduInternet2MiddlewareGrouper::GroupFinder.expects(:findByName).returns grouper_wheel_group
|
28
|
-
|
29
|
-
assert_equal wheel_group_as_json, JGrouper::Group.find('etc:wheel').to_json
|
30
|
-
end
|
31
|
-
|
32
|
-
def test_group_from_json
|
33
|
-
group = JSON.parse wheel_group_as_json
|
34
|
-
assert_not_nil group
|
35
|
-
assert group.kind_of? JGrouper::Group
|
36
|
-
assert_equal 'Wheel', group.display_extension
|
37
|
-
assert_equal 'Etc:Wheel', group.display_name
|
38
|
-
assert_equal 'wheel', group.extension
|
39
|
-
assert_equal 'etc:wheel', group.name
|
40
|
-
assert_equal [ 'base' ], group.types
|
41
|
-
assert_equal 'etc-wheel-group', group.uuid
|
42
|
-
end
|
43
|
-
|
44
|
-
def test_group_types
|
45
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
46
|
-
Java::EduInternet2MiddlewareGrouper::GroupFinder.expects(:findByName).returns grouper_wheel_group
|
47
|
-
|
48
|
-
JGrouper::Group.find('etc:wheel') do |group|
|
49
|
-
assert_equal true, group.add_type('base') # Add already present type
|
50
|
-
# TODO Add type
|
51
|
-
assert_equal false, group.add_type('foo') # Add invalid group type
|
52
|
-
|
53
|
-
# TODO Delete unassigned type
|
54
|
-
# TODO Delete type
|
55
|
-
assert_equal false, group.delete_type('foo') # Delete invalid group type
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
60
|
-
|
data/test/test_group_type.rb
DELETED
@@ -1,106 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require_relative 'helper'
|
4
|
-
|
5
|
-
|
6
|
-
class JGrouper::GroupType::TestCase
|
7
|
-
|
8
|
-
def test_mocked_create_group_type
|
9
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
10
|
-
Java::EduInternet2MiddlewareGrouper::GroupType.expects(:createType).returns grouper_type
|
11
|
-
JGrouper::GroupType.create('jgrouper') do |group_type|
|
12
|
-
assert_not_nil group_type
|
13
|
-
assert group_type.kind_of? JGrouper::GroupType
|
14
|
-
assert_equal 'jgrouper', group_type.name
|
15
|
-
assert_equal 'some-fake-uuid', group_type.uuid
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_mocked_group_type_to_json
|
20
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
21
|
-
Java::EduInternet2MiddlewareGrouper::GroupType.expects(:createType).returns grouper_type
|
22
|
-
assert_equal jgrouper_type_as_json, JGrouper::GroupType.create('jgrouper').to_json
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_group_type_from_json
|
26
|
-
group_type = JSON.parse jgrouper_type_as_json
|
27
|
-
assert_not_nil group_type
|
28
|
-
assert group_type.kind_of? JGrouper::GroupType
|
29
|
-
assert_equal 'jgrouper', group_type.name
|
30
|
-
assert_equal 'some-fake-uuid', group_type.uuid
|
31
|
-
end
|
32
|
-
|
33
|
-
def test_mocked_find_all
|
34
|
-
Java::EduInternet2MiddlewareGrouper::GroupTypeFinder.expects(:findAll).returns [ grouper_type ]
|
35
|
-
group_types = JGrouper::GroupType.all do |group_type|
|
36
|
-
assert_not_nil group_type
|
37
|
-
assert group_type.kind_of? JGrouper::GroupType
|
38
|
-
assert_equal 'jgrouper', group_type.name
|
39
|
-
assert_equal 'some-fake-uuid', group_type.uuid
|
40
|
-
end
|
41
|
-
assert_not_nil group_types
|
42
|
-
assert_not_nil group_types.first
|
43
|
-
assert group_types.first.kind_of? JGrouper::GroupType
|
44
|
-
assert_equal 'jgrouper', group_types.first.name
|
45
|
-
assert_equal 'some-fake-uuid', group_types.first.uuid
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_mocked_find_by_name
|
49
|
-
Java::EduInternet2MiddlewareGrouper::GroupTypeFinder.expects(:find).returns grouper_type
|
50
|
-
JGrouper::GroupType.find('base') do |group_type|
|
51
|
-
assert_not_nil group_type
|
52
|
-
assert group_type.kind_of? JGrouper::GroupType
|
53
|
-
assert_equal 'jgrouper', group_type.name
|
54
|
-
assert_equal 'some-fake-uuid', group_type.uuid
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
def test_mocked_find_by_name_failure
|
59
|
-
Java::EduInternet2MiddlewareGrouper::GroupTypeFinder.expects(:find).returns nil
|
60
|
-
assert_nil JGrouper::GroupType.find('jgrouper')
|
61
|
-
end
|
62
|
-
|
63
|
-
def test_mocked_instance_delete
|
64
|
-
type = grouper_type
|
65
|
-
|
66
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
67
|
-
Java::EduInternet2MiddlewareGrouper::GroupTypeFinder.expects(:find).returns type
|
68
|
-
type.expects(:delete).returns(nil)
|
69
|
-
|
70
|
-
assert JGrouper::GroupType.find('jgrouper').delete
|
71
|
-
end
|
72
|
-
|
73
|
-
def test_mocked_instance_delete_failure
|
74
|
-
type = grouper_type
|
75
|
-
|
76
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
77
|
-
Java::EduInternet2MiddlewareGrouper::GroupTypeFinder.expects(:find).returns type
|
78
|
-
type.expects(:delete).raises(Exception, 'Mocked Exception')
|
79
|
-
|
80
|
-
group_type = JGrouper::GroupType.find('jgrouper')
|
81
|
-
assert_equal false, group_type.delete
|
82
|
-
assert_equal 'Mocked Exception', group_type.error.to_s
|
83
|
-
end
|
84
|
-
|
85
|
-
def test_mocked_class_delete
|
86
|
-
type = grouper_type
|
87
|
-
|
88
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
89
|
-
Java::EduInternet2MiddlewareGrouper::GroupTypeFinder.expects(:find).returns type
|
90
|
-
type.expects(:delete).returns(nil)
|
91
|
-
|
92
|
-
assert JGrouper::GroupType.delete('jgrouper')
|
93
|
-
end
|
94
|
-
|
95
|
-
def test_mocked_class_delete_failure
|
96
|
-
type = grouper_type
|
97
|
-
|
98
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
99
|
-
Java::EduInternet2MiddlewareGrouper::GroupTypeFinder.expects(:find).returns type
|
100
|
-
type.expects(:delete).raises(Exception, 'Mocked Exception')
|
101
|
-
|
102
|
-
assert_equal false, JGrouper::GroupType.delete('jgrouper')
|
103
|
-
end
|
104
|
-
|
105
|
-
end
|
106
|
-
|
data/test/test_stem.rb
DELETED
@@ -1,90 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require_relative 'helper'
|
4
|
-
|
5
|
-
|
6
|
-
class JGrouper::Stem::TestCase
|
7
|
-
|
8
|
-
def test_mocked_find_root_stem
|
9
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
10
|
-
Java::EduInternet2MiddlewareGrouper::StemFinder.expects(:findRootStem).returns grouper_root_stem
|
11
|
-
|
12
|
-
JGrouper::Stem.root do |stem|
|
13
|
-
assert_not_nil stem
|
14
|
-
assert stem.kind_of? JGrouper::Stem
|
15
|
-
assert_equal '', stem.display_name
|
16
|
-
assert_equal '', stem.name
|
17
|
-
assert_equal 'some-fake-uuid', stem.uuid
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_mocked_stem_to_json
|
22
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
23
|
-
Java::EduInternet2MiddlewareGrouper::StemFinder.expects(:findRootStem).returns grouper_root_stem
|
24
|
-
|
25
|
-
assert_equal root_stem_as_json, JGrouper::Stem.root.to_json
|
26
|
-
end
|
27
|
-
|
28
|
-
def test_stem_from_json
|
29
|
-
stem = JSON.parse root_stem_as_json
|
30
|
-
assert_not_nil stem
|
31
|
-
assert stem.kind_of? JGrouper::Stem
|
32
|
-
assert_equal '', stem.display_name
|
33
|
-
assert_equal '', stem.name
|
34
|
-
assert_equal 'some-fake-uuid', stem.uuid
|
35
|
-
end
|
36
|
-
|
37
|
-
def test_mocked_find_by_name
|
38
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
39
|
-
Java::EduInternet2MiddlewareGrouper::StemFinder.expects(:findByName).returns grouper_stem('foo:bar')
|
40
|
-
|
41
|
-
JGrouper::Stem.find('foo:bar') do |stem|
|
42
|
-
assert_not_nil stem
|
43
|
-
assert stem.kind_of? JGrouper::Stem
|
44
|
-
assert_equal 'foo', stem.display_name
|
45
|
-
assert_equal 'foo', stem.name
|
46
|
-
assert_equal 'stem-foo', stem.uuid
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_mocked_find_by_name_failure
|
51
|
-
Java::EduInternet2MiddlewareGrouper::GrouperSession.expects(:startRootSession).returns true
|
52
|
-
Java::EduInternet2MiddlewareGrouper::StemFinder.expects(:findByName).returns nil
|
53
|
-
|
54
|
-
assert_nil JGrouper::Stem.find('foo:bar')
|
55
|
-
end
|
56
|
-
|
57
|
-
def test_mocked_create_stem_without_display_name_and_without_intermediaries
|
58
|
-
root_stem = grouper_root_stem
|
59
|
-
|
60
|
-
JGrouper::Stem.expects(:root).returns root_stem
|
61
|
-
root_stem.expects(:add_stem).returns JGrouper::Stem.send( :from_grouper, grouper_stem(:foo) )
|
62
|
-
|
63
|
-
JGrouper::Stem.create('foo') do |stem|
|
64
|
-
assert_not_nil stem
|
65
|
-
assert stem.kind_of? JGrouper::Stem
|
66
|
-
assert_equal 'foo', stem.display_name
|
67
|
-
assert_equal 'foo', stem.name
|
68
|
-
assert_not_nil stem.uuid
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def test_mocked_create_stem_with_display_name_and_with_intermediaries
|
73
|
-
root_stem = grouper_root_stem
|
74
|
-
stem_foo = grouper_stem :foo
|
75
|
-
|
76
|
-
JGrouper::Stem.expects(:root).returns root_stem
|
77
|
-
root_stem.expects(:add_stem).returns stem
|
78
|
-
stem.expects(:add_stem).returns JGrouper::Stem.send( :from_grouper, grouper_stem('foo:bar') )
|
79
|
-
|
80
|
-
JGrouper::Stem.create('foo:bar', 'foo:Bar') do |stem|
|
81
|
-
assert_not_nil stem
|
82
|
-
assert stem.kind_of? JGrouper::Stem
|
83
|
-
assert_equal 'foo:Bar', stem.display_name
|
84
|
-
assert_equal 'foo:bar', stem.name
|
85
|
-
assert_not_nil stem.uuid
|
86
|
-
end
|
87
|
-
end
|
88
|
-
|
89
|
-
end
|
90
|
-
|
data/test/test_subject.rb
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require_relative 'helper'
|
4
|
-
|
5
|
-
|
6
|
-
class JGrouper::Subject::TestCase
|
7
|
-
|
8
|
-
def test_mocked_find_root_subject
|
9
|
-
Java::EduInternet2MiddlewareGrouper::SubjectFinder.expects(:findRootSubject).returns grouper_root_subject
|
10
|
-
JGrouper::Subject.root do |subject|
|
11
|
-
assert_not_nil subject
|
12
|
-
assert subject.kind_of? JGrouper::Subject
|
13
|
-
assert_equal 'GrouperSystem', subject.id
|
14
|
-
assert_equal 'GrouperSysAdmin', subject.name
|
15
|
-
assert_equal 'g:isa', subject.source
|
16
|
-
assert_equal 'application', subject.type
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def test_mocked_subject_to_json
|
21
|
-
Java::EduInternet2MiddlewareGrouper::SubjectFinder.expects(:findRootSubject).returns grouper_root_subject
|
22
|
-
assert_equal root_subject_as_json, JGrouper::Subject.root.to_json
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_subject_from_json
|
26
|
-
subject = JSON.parse root_subject_as_json
|
27
|
-
assert_not_nil subject
|
28
|
-
assert subject.kind_of? JGrouper::Subject
|
29
|
-
assert_equal 'GrouperSystem', subject.id
|
30
|
-
assert_equal 'GrouperSysAdmin', subject.name
|
31
|
-
assert_equal 'g:isa', subject.source
|
32
|
-
assert_equal 'application', subject.type
|
33
|
-
end
|
34
|
-
|
35
|
-
end
|
36
|
-
|