usvn-crowd-sync 0.2.0

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.
@@ -0,0 +1,25 @@
1
+ # ===========================================================================
2
+ # Copyright (C) 2009, Progress Software Corporation and/or its
3
+ # subsidiaries or affiliates. All rights reserved.
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ # ===========================================================================
17
+ module Crowd #:nodoc:
18
+ module VERSION #:nodoc:
19
+ MAJOR = 0
20
+ MINOR = 0
21
+ TINY = 11
22
+
23
+ STRING = [MAJOR, MINOR, TINY].join('.')
24
+ end
25
+ end
@@ -0,0 +1,4 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ require 'usvn/usvn_0_x'
4
+
@@ -0,0 +1,78 @@
1
+
2
+ # usvn_users;
3
+ # +-----------------+--------------+------+-----+---------+----------------+
4
+ # | Field | Type | Null | Key | Default | Extra |
5
+ # +-----------------+--------------+------+-----+---------+----------------+
6
+ # | users_id | int(11) | NO | PRI | NULL | auto_increment |
7
+ # | users_login | varchar(255) | NO | UNI | NULL | |
8
+ # | users_password | varchar(64) | NO | | NULL | |
9
+ # | users_lastname | varchar(100) | YES | | NULL | |
10
+ # | users_firstname | varchar(100) | YES | | NULL | |
11
+ # | users_email | varchar(150) | YES | | NULL | |
12
+ # | users_is_admin | tinyint(1) | NO | | NULL | |
13
+ # | users_secret_id | varchar(32) | NO | | NULL | |
14
+ # +-----------------+--------------+------+-----+---------+----------------+
15
+ class User
16
+ include DataMapper::Resource
17
+ storage_names[:default] = 'usvn_users'
18
+
19
+ property :id, Serial, :field => 'users_id'
20
+ property :login, String, :field => 'users_login'
21
+ property :password, String, :field => 'users_password'
22
+ property :lastname, String, :field => 'users_lastname'
23
+ property :firstname, String, :field => 'users_firstname'
24
+ property :email, String, :field => 'users_email'
25
+ property :secret_id, String, :field => 'users_secret_id'
26
+ property :is_admin, Integer, :field => 'users_is_admin'
27
+
28
+ end
29
+
30
+ # usvn_groups
31
+ # +--------------------+---------------+------+-----+---------+----------------+
32
+ # | Field | Type | Null | Key | Default | Extra |
33
+ # +--------------------+---------------+------+-----+---------+----------------+
34
+ # | groups_id | int(11) | NO | PRI | NULL | auto_increment |
35
+ # | groups_name | varchar(150) | NO | UNI | NULL | |
36
+ # | groups_description | varchar(1000) | YES | | NULL | |
37
+ # +--------------------+---------------+------+-----+---------+----------------+
38
+
39
+ class Group
40
+ include DataMapper::Resource
41
+ storage_names[:default] = 'usvn_groups'
42
+
43
+ property :id, Serial, :field => 'groups_id'
44
+ property :name, String, :field => 'groups_name'
45
+ property :description, String, :field => 'groups_description'
46
+
47
+ def self.create_or_update(names)
48
+ groups = []
49
+ names.each do |name|
50
+ if name =~ /^[a-zA-Z0-9\-\_]+$/
51
+ g = Group.first(:name => name)
52
+ if g.nil?
53
+ g = Group.create(:name => name)
54
+ end
55
+ groups << g
56
+ end
57
+ end
58
+ groups
59
+ end
60
+
61
+ end
62
+
63
+ # usvn_users_to_groups
64
+ # +-----------+------------+------+-----+---------+-------+
65
+ # | Field | Type | Null | Key | Default | Extra |
66
+ # +-----------+------------+------+-----+---------+-------+
67
+ # | users_id | int(11) | NO | PRI | NULL | |
68
+ # | groups_id | int(11) | NO | PRI | NULL | |
69
+ # | is_leader | tinyint(1) | NO | | NULL | |
70
+ # +-----------+------------+------+-----+---------+-------+
71
+ class GroupUser
72
+ include DataMapper::Resource
73
+ storage_names[:default] = 'usvn_users_to_groups'
74
+
75
+ property :users_id, Integer, :key => true
76
+ property :groups_id, Integer, :key => true
77
+ property :is_leader, Integer
78
+ end
@@ -0,0 +1,12 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'usvn-crowd-sync'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+
12
+ end
@@ -0,0 +1,7 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "UsvnCrowdSync" do
4
+ it "fails" do
5
+ fail "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env php
2
+ <?php
3
+ require_once 'USVN/autoload.php';
4
+
5
+ $configfile = $argv[1];
6
+
7
+ try {
8
+ USVN_Translation::initTranslation('en_US', 'locale');
9
+ $config = new USVN_Config_Ini($configfile, 'general');
10
+ Zend_Db_Table::setDefaultAdapter(Zend_Db::factory($config->database->adapterName, $config->database->options->toArray()));
11
+ Zend_Db_Table::getDefaultAdapter()->getProfiler()->setEnabled(true);
12
+ USVN_Db_Table::$prefix = $config->database->prefix;
13
+ Zend_Registry::set('config', $config);
14
+ USVN_Authz::generate();
15
+ }
16
+ catch (Exception $e) {
17
+ echo $e->getMessage() . "\n";
18
+ exit(1);
19
+ }
20
+
21
+ echo "OK";
22
+
23
+ exit(0);
24
+ ?>
@@ -0,0 +1,87 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{usvn-crowd-sync}
8
+ s.version = "0.2.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["crazycode"]
12
+ s.date = %q{2011-06-02}
13
+ s.default_executable = %q{usvn-crowd-sync}
14
+ s.description = %q{Sync Atlassian crowd's user & groups to USVN.}
15
+ s.email = %q{crazycode@gmail.com}
16
+ s.executables = ["usvn-crowd-sync"]
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.rdoc"
20
+ ]
21
+ s.files = [
22
+ ".document",
23
+ ".rspec",
24
+ "Gemfile",
25
+ "Gemfile.lock",
26
+ "LICENSE.txt",
27
+ "README.rdoc",
28
+ "Rakefile",
29
+ "VERSION",
30
+ "bin/usvn-crowd-sync",
31
+ "lib/crowd.rb",
32
+ "lib/crowd/crowd.rb",
33
+ "lib/crowd/crowd.yml",
34
+ "lib/crowd/crowd_authentication.rb",
35
+ "lib/crowd/default.rb",
36
+ "lib/crowd/defaultDriver.rb",
37
+ "lib/crowd/defaultMappingRegistry.rb",
38
+ "lib/crowd/version.rb",
39
+ "lib/usvn-crowd-sync.rb",
40
+ "lib/usvn/usvn_0_x.rb",
41
+ "spec/spec_helper.rb",
42
+ "spec/usvn-crowd-sync_spec.rb",
43
+ "tools/regenerate_authz_file.php",
44
+ "usvn-crowd-sync.gemspec",
45
+ "usvn-crowd-sync.yml"
46
+ ]
47
+ s.homepage = %q{http://github.com/crazycode/usvn-crowd-sync}
48
+ s.licenses = ["MIT"]
49
+ s.require_paths = ["lib"]
50
+ s.rubygems_version = %q{1.6.2}
51
+ s.summary = %q{Sync Atlassian crowd's user & groups to USVN.}
52
+ s.test_files = [
53
+ "spec/spec_helper.rb",
54
+ "spec/usvn-crowd-sync_spec.rb"
55
+ ]
56
+
57
+ if s.respond_to? :specification_version then
58
+ s.specification_version = 3
59
+
60
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
61
+ s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
62
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
63
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
64
+ s.add_development_dependency(%q<rcov>, [">= 0"])
65
+ s.add_runtime_dependency(%q<data_mapper>, [">= 0"])
66
+ s.add_runtime_dependency(%q<dm-mysql-adapter>, [">= 0"])
67
+ s.add_development_dependency(%q<rspec>, [">= 0"])
68
+ else
69
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
70
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
71
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
72
+ s.add_dependency(%q<rcov>, [">= 0"])
73
+ s.add_dependency(%q<data_mapper>, [">= 0"])
74
+ s.add_dependency(%q<dm-mysql-adapter>, [">= 0"])
75
+ s.add_dependency(%q<rspec>, [">= 0"])
76
+ end
77
+ else
78
+ s.add_dependency(%q<rspec>, ["~> 2.3.0"])
79
+ s.add_dependency(%q<bundler>, ["~> 1.0.0"])
80
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
81
+ s.add_dependency(%q<rcov>, [">= 0"])
82
+ s.add_dependency(%q<data_mapper>, [">= 0"])
83
+ s.add_dependency(%q<dm-mysql-adapter>, [">= 0"])
84
+ s.add_dependency(%q<rspec>, [">= 0"])
85
+ end
86
+ end
87
+
@@ -0,0 +1,15 @@
1
+ usvn_db:
2
+ adapter: mysql
3
+ user: root
4
+ password: asdfasdf
5
+ host: localhost
6
+ encoding: utf-8
7
+ database: usvn
8
+
9
+ usvn_home: /var/www/usvn
10
+
11
+ application_login_url: http://10.241.12.43:7300/login
12
+ application_name: mvnconfig
13
+ application_password: 1qaz2wsx
14
+ crowd_server_url: http://10.241.14.35:8780/services/SecurityServer
15
+
metadata ADDED
@@ -0,0 +1,195 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: usvn-crowd-sync
3
+ version: !ruby/object:Gem::Version
4
+ hash: 23
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 2
9
+ - 0
10
+ version: 0.2.0
11
+ platform: ruby
12
+ authors:
13
+ - crazycode
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-06-02 00:00:00 +08:00
19
+ default_executable: usvn-crowd-sync
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ type: :development
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - ~>
27
+ - !ruby/object:Gem::Version
28
+ hash: 3
29
+ segments:
30
+ - 2
31
+ - 3
32
+ - 0
33
+ version: 2.3.0
34
+ name: rspec
35
+ version_requirements: *id001
36
+ prerelease: false
37
+ - !ruby/object:Gem::Dependency
38
+ type: :development
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 23
45
+ segments:
46
+ - 1
47
+ - 0
48
+ - 0
49
+ version: 1.0.0
50
+ name: bundler
51
+ version_requirements: *id002
52
+ prerelease: false
53
+ - !ruby/object:Gem::Dependency
54
+ type: :development
55
+ requirement: &id003 !ruby/object:Gem::Requirement
56
+ none: false
57
+ requirements:
58
+ - - ~>
59
+ - !ruby/object:Gem::Version
60
+ hash: 7
61
+ segments:
62
+ - 1
63
+ - 5
64
+ - 2
65
+ version: 1.5.2
66
+ name: jeweler
67
+ version_requirements: *id003
68
+ prerelease: false
69
+ - !ruby/object:Gem::Dependency
70
+ type: :development
71
+ requirement: &id004 !ruby/object:Gem::Requirement
72
+ none: false
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ hash: 3
77
+ segments:
78
+ - 0
79
+ version: "0"
80
+ name: rcov
81
+ version_requirements: *id004
82
+ prerelease: false
83
+ - !ruby/object:Gem::Dependency
84
+ type: :runtime
85
+ requirement: &id005 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ hash: 3
91
+ segments:
92
+ - 0
93
+ version: "0"
94
+ name: data_mapper
95
+ version_requirements: *id005
96
+ prerelease: false
97
+ - !ruby/object:Gem::Dependency
98
+ type: :runtime
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ hash: 3
105
+ segments:
106
+ - 0
107
+ version: "0"
108
+ name: dm-mysql-adapter
109
+ version_requirements: *id006
110
+ prerelease: false
111
+ - !ruby/object:Gem::Dependency
112
+ type: :development
113
+ requirement: &id007 !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ hash: 3
119
+ segments:
120
+ - 0
121
+ version: "0"
122
+ name: rspec
123
+ version_requirements: *id007
124
+ prerelease: false
125
+ description: Sync Atlassian crowd's user & groups to USVN.
126
+ email: crazycode@gmail.com
127
+ executables:
128
+ - usvn-crowd-sync
129
+ extensions: []
130
+
131
+ extra_rdoc_files:
132
+ - LICENSE.txt
133
+ - README.rdoc
134
+ files:
135
+ - .document
136
+ - .rspec
137
+ - Gemfile
138
+ - Gemfile.lock
139
+ - LICENSE.txt
140
+ - README.rdoc
141
+ - Rakefile
142
+ - VERSION
143
+ - bin/usvn-crowd-sync
144
+ - lib/crowd.rb
145
+ - lib/crowd/crowd.rb
146
+ - lib/crowd/crowd.yml
147
+ - lib/crowd/crowd_authentication.rb
148
+ - lib/crowd/default.rb
149
+ - lib/crowd/defaultDriver.rb
150
+ - lib/crowd/defaultMappingRegistry.rb
151
+ - lib/crowd/version.rb
152
+ - lib/usvn-crowd-sync.rb
153
+ - lib/usvn/usvn_0_x.rb
154
+ - spec/spec_helper.rb
155
+ - spec/usvn-crowd-sync_spec.rb
156
+ - tools/regenerate_authz_file.php
157
+ - usvn-crowd-sync.gemspec
158
+ - usvn-crowd-sync.yml
159
+ has_rdoc: true
160
+ homepage: http://github.com/crazycode/usvn-crowd-sync
161
+ licenses:
162
+ - MIT
163
+ post_install_message:
164
+ rdoc_options: []
165
+
166
+ require_paths:
167
+ - lib
168
+ required_ruby_version: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ hash: 3
174
+ segments:
175
+ - 0
176
+ version: "0"
177
+ required_rubygems_version: !ruby/object:Gem::Requirement
178
+ none: false
179
+ requirements:
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ hash: 3
183
+ segments:
184
+ - 0
185
+ version: "0"
186
+ requirements: []
187
+
188
+ rubyforge_project:
189
+ rubygems_version: 1.6.2
190
+ signing_key:
191
+ specification_version: 3
192
+ summary: Sync Atlassian crowd's user & groups to USVN.
193
+ test_files:
194
+ - spec/spec_helper.rb
195
+ - spec/usvn-crowd-sync_spec.rb