gritano 0.11.0 → 0.11.1
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.
- data/.gritano/config.yml +2 -2
- data/TODO +2 -3
- data/VERSION +1 -1
- data/db/migrate/008_remove_password_from_user.rb +10 -0
- data/db/migrate/009_remove_email_from_users.rb +10 -0
- data/features/data/local_commands/user_list.txt +6 -6
- data/features/data/local_help.txt +5 -4
- data/features/data/remote_commands/admin_help_igorbonadio.txt +27 -26
- data/features/data/remote_commands/admin_help_jessicaeto.txt +27 -26
- data/features/data/remote_commands/admin_user_list_igorbonadio.txt +6 -6
- data/features/data/remote_commands/help_igorbonadio.txt +9 -12
- data/features/data/remote_commands/help_jessicaeto.txt +9 -12
- data/features/data/remote_commands/invalid_command_igorbonadio.txt +9 -12
- data/features/data/remote_commands/invalid_command_jessicaeto.txt +9 -12
- data/features/data/remote_help.txt +0 -3
- data/features/local.feature +0 -5
- data/features/remote.feature +0 -20
- data/features/step_definitions/background_step.rb +0 -1
- data/features/support/env.rb +3 -1
- data/gritano.gemspec +4 -17
- data/lib/gritano/cli.rb +2 -2
- data/lib/gritano/config.rb +5 -1
- data/lib/gritano/console.rb +7 -6
- data/lib/gritano/console/executor.rb +31 -58
- data/lib/gritano/console/remote.rb +0 -15
- data/lib/gritano/models/user.rb +0 -9
- data/spec/cli_spec.rb +2 -2
- data/spec/config_spec.rb +15 -15
- data/spec/console_executor_spec.rb +1 -1
- data/spec/console_spec.rb +11 -7
- data/spec/model_user_spec.rb +0 -10
- metadata +5 -18
- data/features/data/local_commands/user_email_get_igorbonadio.txt +0 -1
- data/features/data/local_commands/user_email_get_jessicaeto.txt +0 -1
- data/features/data/local_commands/user_email_get_wrong.txt +0 -1
- data/features/data/local_commands/user_email_update_igorbonadio_igor@bonadio_com.txt +0 -1
- data/features/data/local_commands/user_email_update_wrong_igor@bonadio_com.txt +0 -1
- data/features/data/remote_commands/admin_user_email_get_igorbonadio_igorbonadio.txt +0 -1
- data/features/data/remote_commands/admin_user_email_get_igorbonadio_jessicaeto.txt +0 -1
- data/features/data/remote_commands/admin_user_email_get_jessicaeto_igorbonadio.txt +0 -1
- data/features/data/remote_commands/admin_user_email_get_jessicaeto_jessicaeto.txt +0 -1
- data/features/data/remote_commands/admin_user_email_get_wrong_igorbonadio.txt +0 -1
- data/features/data/remote_commands/admin_user_email_get_wrong_jessicaeto.txt +0 -1
- data/features/data/remote_commands/admin_user_email_update_igorbonadio_igor@bonadio_com_igorbonadio.txt +0 -1
- data/features/data/remote_commands/admin_user_email_update_igorbonadio_igor@bonadio_com_jessicaeto.txt +0 -1
- data/features/data/remote_commands/admin_user_email_update_wrong_igor@bonadio_com_igorbonadio.txt +0 -1
- data/features/data/remote_commands/admin_user_email_update_wrong_igor@bonadio_com_jessicaeto.txt +0 -1
data/.gritano/config.yml
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
host_url: "gritano.org"
|
2
|
+
ssh_user: "git"
|
data/TODO
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.11.
|
1
|
+
0.11.1
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
| user |
|
3
|
-
|
4
|
-
| igorbonadio |
|
5
|
-
| jessicaeto |
|
6
|
-
|
1
|
+
+-------------+-------+
|
2
|
+
| user | admin |
|
3
|
+
+-------------+-------+
|
4
|
+
| igorbonadio | true |
|
5
|
+
| jessicaeto | false |
|
6
|
+
+-------------+-------+
|
@@ -8,11 +8,8 @@
|
|
8
8
|
gritano user:list
|
9
9
|
gritano user:key:list username
|
10
10
|
gritano user:repo:list username
|
11
|
-
gritano user:add username [
|
12
|
-
gritano user:password:set username
|
11
|
+
gritano user:add username [admin]*
|
13
12
|
gritano user:rm username
|
14
|
-
gritano user:email:update username email@server.com
|
15
|
-
gritano user:email:get username
|
16
13
|
gritano user:key:add username keyname < key.pub
|
17
14
|
gritano user:key:rm username keyname
|
18
15
|
gritano user:admin:add username
|
@@ -26,6 +23,10 @@
|
|
26
23
|
gritano repo:write:add reponame.git username
|
27
24
|
gritano repo:read:rm reponame.git username
|
28
25
|
gritano repo:write:rm reponame.git username
|
26
|
+
gritano config:host_url:set url
|
27
|
+
gritano config:host_url:get
|
28
|
+
gritano config:ssh_user:set user
|
29
|
+
gritano config:ssh_user:get
|
29
30
|
|
30
31
|
--
|
31
32
|
v{{VERSION}}
|
@@ -1,31 +1,32 @@
|
|
1
|
-
ssh
|
1
|
+
ssh undefined@undefined admin:[command]
|
2
2
|
|
3
3
|
Examples:
|
4
|
-
ssh
|
5
|
-
ssh
|
6
|
-
ssh
|
7
|
-
ssh
|
8
|
-
ssh
|
9
|
-
ssh
|
10
|
-
ssh
|
11
|
-
ssh
|
12
|
-
ssh
|
13
|
-
ssh
|
14
|
-
ssh
|
15
|
-
ssh
|
16
|
-
ssh
|
17
|
-
ssh
|
18
|
-
ssh
|
19
|
-
ssh
|
20
|
-
ssh
|
21
|
-
ssh
|
22
|
-
ssh
|
23
|
-
ssh
|
24
|
-
ssh
|
25
|
-
ssh
|
26
|
-
ssh
|
27
|
-
ssh
|
28
|
-
ssh
|
4
|
+
ssh undefined@undefined admin:help
|
5
|
+
ssh undefined@undefined admin:version
|
6
|
+
ssh undefined@undefined admin:setup:prepare
|
7
|
+
ssh undefined@undefined admin:setup:install
|
8
|
+
ssh undefined@undefined admin:user:list
|
9
|
+
ssh undefined@undefined admin:user:key:list username
|
10
|
+
ssh undefined@undefined admin:user:repo:list username
|
11
|
+
ssh undefined@undefined admin:user:add username [admin]*
|
12
|
+
ssh undefined@undefined admin:user:rm username
|
13
|
+
ssh undefined@undefined admin:user:key:add username keyname < key.pub
|
14
|
+
ssh undefined@undefined admin:user:key:rm username keyname
|
15
|
+
ssh undefined@undefined admin:user:admin:add username
|
16
|
+
ssh undefined@undefined admin:user:admin:rm username
|
17
|
+
ssh undefined@undefined admin:user:admin username
|
18
|
+
ssh undefined@undefined admin:repo:list
|
19
|
+
ssh undefined@undefined admin:repo:add reponame.git [username1 username2 ...]*
|
20
|
+
ssh undefined@undefined admin:repo:user:list reponame.git
|
21
|
+
ssh undefined@undefined admin:repo:rm reponame.git
|
22
|
+
ssh undefined@undefined admin:repo:read:add reponame.git username
|
23
|
+
ssh undefined@undefined admin:repo:write:add reponame.git username
|
24
|
+
ssh undefined@undefined admin:repo:read:rm reponame.git username
|
25
|
+
ssh undefined@undefined admin:repo:write:rm reponame.git username
|
26
|
+
ssh undefined@undefined admin:config:host_url:set url
|
27
|
+
ssh undefined@undefined admin:config:host_url:get
|
28
|
+
ssh undefined@undefined admin:config:ssh_user:set user
|
29
|
+
ssh undefined@undefined admin:config:ssh_user:get
|
29
30
|
|
30
31
|
--
|
31
32
|
v{{VERSION}}
|
@@ -1,31 +1,32 @@
|
|
1
|
-
ssh
|
1
|
+
ssh undefined@undefined admin:[command]
|
2
2
|
|
3
3
|
Examples:
|
4
|
-
ssh
|
5
|
-
ssh
|
6
|
-
ssh
|
7
|
-
ssh
|
8
|
-
ssh
|
9
|
-
ssh
|
10
|
-
ssh
|
11
|
-
ssh
|
12
|
-
ssh
|
13
|
-
ssh
|
14
|
-
ssh
|
15
|
-
ssh
|
16
|
-
ssh
|
17
|
-
ssh
|
18
|
-
ssh
|
19
|
-
ssh
|
20
|
-
ssh
|
21
|
-
ssh
|
22
|
-
ssh
|
23
|
-
ssh
|
24
|
-
ssh
|
25
|
-
ssh
|
26
|
-
ssh
|
27
|
-
ssh
|
28
|
-
ssh
|
4
|
+
ssh undefined@undefined admin:help
|
5
|
+
ssh undefined@undefined admin:version
|
6
|
+
ssh undefined@undefined admin:setup:prepare
|
7
|
+
ssh undefined@undefined admin:setup:install
|
8
|
+
ssh undefined@undefined admin:user:list
|
9
|
+
ssh undefined@undefined admin:user:key:list username
|
10
|
+
ssh undefined@undefined admin:user:repo:list username
|
11
|
+
ssh undefined@undefined admin:user:add username [admin]*
|
12
|
+
ssh undefined@undefined admin:user:rm username
|
13
|
+
ssh undefined@undefined admin:user:key:add username keyname < key.pub
|
14
|
+
ssh undefined@undefined admin:user:key:rm username keyname
|
15
|
+
ssh undefined@undefined admin:user:admin:add username
|
16
|
+
ssh undefined@undefined admin:user:admin:rm username
|
17
|
+
ssh undefined@undefined admin:user:admin username
|
18
|
+
ssh undefined@undefined admin:repo:list
|
19
|
+
ssh undefined@undefined admin:repo:add reponame.git [username1 username2 ...]*
|
20
|
+
ssh undefined@undefined admin:repo:user:list reponame.git
|
21
|
+
ssh undefined@undefined admin:repo:rm reponame.git
|
22
|
+
ssh undefined@undefined admin:repo:read:add reponame.git username
|
23
|
+
ssh undefined@undefined admin:repo:write:add reponame.git username
|
24
|
+
ssh undefined@undefined admin:repo:read:rm reponame.git username
|
25
|
+
ssh undefined@undefined admin:repo:write:rm reponame.git username
|
26
|
+
ssh undefined@undefined admin:config:host_url:set url
|
27
|
+
ssh undefined@undefined admin:config:host_url:get
|
28
|
+
ssh undefined@undefined admin:config:ssh_user:set user
|
29
|
+
ssh undefined@undefined admin:config:ssh_user:get
|
29
30
|
|
30
31
|
--
|
31
32
|
v{{VERSION}}
|
@@ -1,6 +1,6 @@
|
|
1
|
-
|
2
|
-
| user |
|
3
|
-
|
4
|
-
| igorbonadio |
|
5
|
-
| jessicaeto |
|
6
|
-
|
1
|
+
+-------------+-------+
|
2
|
+
| user | admin |
|
3
|
+
+-------------+-------+
|
4
|
+
| igorbonadio | true |
|
5
|
+
| jessicaeto | false |
|
6
|
+
+-------------+-------+
|
@@ -1,17 +1,14 @@
|
|
1
|
-
ssh
|
1
|
+
ssh undefined@undefined [command]
|
2
2
|
|
3
3
|
Examples:
|
4
|
-
ssh
|
5
|
-
ssh
|
6
|
-
ssh
|
7
|
-
ssh
|
8
|
-
ssh
|
9
|
-
ssh
|
10
|
-
ssh
|
11
|
-
ssh
|
12
|
-
ssh git@host.com email:update email@server.com
|
13
|
-
ssh git@host.com password:set
|
14
|
-
ssh git@host.com admin:help
|
4
|
+
ssh undefined@undefined version
|
5
|
+
ssh undefined@undefined help
|
6
|
+
ssh undefined@undefined username
|
7
|
+
ssh undefined@undefined repo:list
|
8
|
+
ssh undefined@undefined key:list
|
9
|
+
ssh undefined@undefined key:add keyname < key.pub
|
10
|
+
ssh undefined@undefined key:rm keyname
|
11
|
+
ssh undefined@undefined admin:help
|
15
12
|
|
16
13
|
--
|
17
14
|
v{{VERSION}}
|
@@ -1,17 +1,14 @@
|
|
1
|
-
ssh
|
1
|
+
ssh undefined@undefined [command]
|
2
2
|
|
3
3
|
Examples:
|
4
|
-
ssh
|
5
|
-
ssh
|
6
|
-
ssh
|
7
|
-
ssh
|
8
|
-
ssh
|
9
|
-
ssh
|
10
|
-
ssh
|
11
|
-
ssh
|
12
|
-
ssh git@host.com email:update email@server.com
|
13
|
-
ssh git@host.com password:set
|
14
|
-
ssh git@host.com admin:help
|
4
|
+
ssh undefined@undefined version
|
5
|
+
ssh undefined@undefined help
|
6
|
+
ssh undefined@undefined username
|
7
|
+
ssh undefined@undefined repo:list
|
8
|
+
ssh undefined@undefined key:list
|
9
|
+
ssh undefined@undefined key:add keyname < key.pub
|
10
|
+
ssh undefined@undefined key:rm keyname
|
11
|
+
ssh undefined@undefined admin:help
|
15
12
|
|
16
13
|
--
|
17
14
|
v{{VERSION}}
|
@@ -1,17 +1,14 @@
|
|
1
|
-
ssh
|
1
|
+
ssh undefined@undefined [command]
|
2
2
|
|
3
3
|
Examples:
|
4
|
-
ssh
|
5
|
-
ssh
|
6
|
-
ssh
|
7
|
-
ssh
|
8
|
-
ssh
|
9
|
-
ssh
|
10
|
-
ssh
|
11
|
-
ssh
|
12
|
-
ssh git@host.com email:update email@server.com
|
13
|
-
ssh git@host.com password:set
|
14
|
-
ssh git@host.com admin:help
|
4
|
+
ssh undefined@undefined version
|
5
|
+
ssh undefined@undefined help
|
6
|
+
ssh undefined@undefined username
|
7
|
+
ssh undefined@undefined repo:list
|
8
|
+
ssh undefined@undefined key:list
|
9
|
+
ssh undefined@undefined key:add keyname < key.pub
|
10
|
+
ssh undefined@undefined key:rm keyname
|
11
|
+
ssh undefined@undefined admin:help
|
15
12
|
|
16
13
|
--
|
17
14
|
v{{VERSION}}
|
@@ -1,17 +1,14 @@
|
|
1
|
-
ssh
|
1
|
+
ssh undefined@undefined [command]
|
2
2
|
|
3
3
|
Examples:
|
4
|
-
ssh
|
5
|
-
ssh
|
6
|
-
ssh
|
7
|
-
ssh
|
8
|
-
ssh
|
9
|
-
ssh
|
10
|
-
ssh
|
11
|
-
ssh
|
12
|
-
ssh git@host.com email:update email@server.com
|
13
|
-
ssh git@host.com password:set
|
14
|
-
ssh git@host.com admin:help
|
4
|
+
ssh undefined@undefined version
|
5
|
+
ssh undefined@undefined help
|
6
|
+
ssh undefined@undefined username
|
7
|
+
ssh undefined@undefined repo:list
|
8
|
+
ssh undefined@undefined key:list
|
9
|
+
ssh undefined@undefined key:add keyname < key.pub
|
10
|
+
ssh undefined@undefined key:rm keyname
|
11
|
+
ssh undefined@undefined admin:help
|
15
12
|
|
16
13
|
--
|
17
14
|
v{{VERSION}}
|
data/features/local.feature
CHANGED
@@ -43,11 +43,6 @@ Feature: Local access
|
|
43
43
|
| user:key:add igorbonadio marvin |
|
44
44
|
| user:key:rm igorbonadio eva |
|
45
45
|
| user:rm igorbonadio |
|
46
|
-
| user:email:update igorbonadio igor@bonadio.com |
|
47
|
-
| user:email:update wrong igor@bonadio.com |
|
48
|
-
| user:email:get igorbonadio |
|
49
|
-
| user:email:get jessicaeto |
|
50
|
-
| user:email:get wrong |
|
51
46
|
| user:list |
|
52
47
|
| user:key:list igorbonadio |
|
53
48
|
| user:repo:list igorbonadio |
|
data/features/remote.feature
CHANGED
@@ -53,25 +53,15 @@ Feature: Remote access
|
|
53
53
|
Then I should see a message via ssh
|
54
54
|
Examples:
|
55
55
|
| command |
|
56
|
-
| invalid:command |
|
57
56
|
| version |
|
58
|
-
| help |
|
59
57
|
| repo:list |
|
60
58
|
| key:list |
|
61
59
|
| key:add keyname |
|
62
60
|
| key:rm hal |
|
63
|
-
| email:get |
|
64
|
-
| email:update email@server.com |
|
65
|
-
| admin:help |
|
66
61
|
| admin:version |
|
67
62
|
| admin:user:add jose |
|
68
63
|
| admin:user:key:add igorbonadio marvin |
|
69
64
|
| admin:user:key:rm igorbonadio eva |
|
70
|
-
| admin:user:email:update igorbonadio igor@bonadio.com |
|
71
|
-
| admin:user:email:update wrong igor@bonadio.com |
|
72
|
-
| admin:user:email:get igorbonadio |
|
73
|
-
| admin:user:email:get wrong |
|
74
|
-
| admin:user:email:get jessicaeto |
|
75
65
|
| admin:user:rm igorbonadio |
|
76
66
|
| admin:user:list |
|
77
67
|
| admin:user:key:list igorbonadio |
|
@@ -114,23 +104,13 @@ Feature: Remote access
|
|
114
104
|
Then I should see a message via ssh
|
115
105
|
Examples:
|
116
106
|
| command |
|
117
|
-
| invalid:command |
|
118
107
|
| version |
|
119
|
-
| help |
|
120
108
|
| repo:list |
|
121
109
|
| key:list |
|
122
110
|
| key:add keyname |
|
123
111
|
| key:rm hal |
|
124
|
-
| email:get |
|
125
|
-
| email:update email@server.com |
|
126
|
-
| admin:help |
|
127
112
|
| admin:version |
|
128
113
|
| admin:user:add jose |
|
129
|
-
| admin:user:email:update igorbonadio igor@bonadio.com |
|
130
|
-
| admin:user:email:update wrong igor@bonadio.com |
|
131
|
-
| admin:user:email:get igorbonadio |
|
132
|
-
| admin:user:email:get wrong |
|
133
|
-
| admin:user:email:get jessicaeto |
|
134
114
|
| admin:user:key:add igorbonadio marvin |
|
135
115
|
| admin:user:key:rm igorbonadio eva |
|
136
116
|
| admin:user:rm igorbonadio |
|
data/features/support/env.rb
CHANGED
@@ -24,5 +24,7 @@ require 'active_record'
|
|
24
24
|
|
25
25
|
Before do
|
26
26
|
ActiveRecord::Base.establish_connection(YAML::load(File.open('.gritano/database.yml')))
|
27
|
-
|
27
|
+
FileUtils.rm_rf(File.join("tmp", ".gritano"))
|
28
|
+
FileUtils.mkdir(File.join('tmp', '.gritano'))
|
29
|
+
Gritano::Console.remote_console(false, 'tmp')
|
28
30
|
end
|
data/gritano.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "gritano"
|
8
|
-
s.version = "0.11.
|
8
|
+
s.version = "0.11.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Igor Bonadio"]
|
12
|
-
s.date = "2013-05-
|
12
|
+
s.date = "2013-05-15"
|
13
13
|
s.description = "Gritano is the simplest way to configure your git server over ssh. You can create repositories and manage user access."
|
14
14
|
s.email = "igorbonadio@gmail.com"
|
15
15
|
s.executables = ["gritano", "gritano-pub-key", "gritano-remote"]
|
@@ -41,6 +41,8 @@ Gem::Specification.new do |s|
|
|
41
41
|
"db/migrate/005_add_admin_to_users.rb",
|
42
42
|
"db/migrate/006_add_email_to_users.rb",
|
43
43
|
"db/migrate/007_add_password_to_users.rb",
|
44
|
+
"db/migrate/008_remove_password_from_user.rb",
|
45
|
+
"db/migrate/009_remove_email_from_users.rb",
|
44
46
|
"features/data/config_true.yml",
|
45
47
|
"features/data/local_commands/repo_add_tmp_jeka_git.txt",
|
46
48
|
"features/data/local_commands/repo_add_tmp_p_lang_git.txt",
|
@@ -69,11 +71,6 @@ Gem::Specification.new do |s|
|
|
69
71
|
"features/data/local_commands/user_admin_add_igorbonadio.txt",
|
70
72
|
"features/data/local_commands/user_admin_rm_arybonadio.txt",
|
71
73
|
"features/data/local_commands/user_admin_rm_igorbonadio.txt",
|
72
|
-
"features/data/local_commands/user_email_get_igorbonadio.txt",
|
73
|
-
"features/data/local_commands/user_email_get_jessicaeto.txt",
|
74
|
-
"features/data/local_commands/user_email_get_wrong.txt",
|
75
|
-
"features/data/local_commands/user_email_update_igorbonadio_igor@bonadio_com.txt",
|
76
|
-
"features/data/local_commands/user_email_update_wrong_igor@bonadio_com.txt",
|
77
74
|
"features/data/local_commands/user_key_add_igorbonadio_marvin.txt",
|
78
75
|
"features/data/local_commands/user_key_add_userrr_marvino.txt",
|
79
76
|
"features/data/local_commands/user_key_list_arybonadio.txt",
|
@@ -143,16 +140,6 @@ Gem::Specification.new do |s|
|
|
143
140
|
"features/data/remote_commands/admin_user_admin_rm_arybonadio_jessicaeto.txt",
|
144
141
|
"features/data/remote_commands/admin_user_admin_rm_igorbonadio_igorbonadio.txt",
|
145
142
|
"features/data/remote_commands/admin_user_admin_rm_igorbonadio_jessicaeto.txt",
|
146
|
-
"features/data/remote_commands/admin_user_email_get_igorbonadio_igorbonadio.txt",
|
147
|
-
"features/data/remote_commands/admin_user_email_get_igorbonadio_jessicaeto.txt",
|
148
|
-
"features/data/remote_commands/admin_user_email_get_jessicaeto_igorbonadio.txt",
|
149
|
-
"features/data/remote_commands/admin_user_email_get_jessicaeto_jessicaeto.txt",
|
150
|
-
"features/data/remote_commands/admin_user_email_get_wrong_igorbonadio.txt",
|
151
|
-
"features/data/remote_commands/admin_user_email_get_wrong_jessicaeto.txt",
|
152
|
-
"features/data/remote_commands/admin_user_email_update_igorbonadio_igor@bonadio_com_igorbonadio.txt",
|
153
|
-
"features/data/remote_commands/admin_user_email_update_igorbonadio_igor@bonadio_com_jessicaeto.txt",
|
154
|
-
"features/data/remote_commands/admin_user_email_update_wrong_igor@bonadio_com_igorbonadio.txt",
|
155
|
-
"features/data/remote_commands/admin_user_email_update_wrong_igor@bonadio_com_jessicaeto.txt",
|
156
143
|
"features/data/remote_commands/admin_user_key_add_igorbonadio_marvin_igorbonadio.txt",
|
157
144
|
"features/data/remote_commands/admin_user_key_add_igorbonadio_marvin_jessicaeto.txt",
|
158
145
|
"features/data/remote_commands/admin_user_key_add_userrr_marvino_igorbonadio.txt",
|
data/lib/gritano/cli.rb
CHANGED
@@ -15,12 +15,12 @@ module Gritano
|
|
15
15
|
end
|
16
16
|
|
17
17
|
def CLI.execute(cmd, stdin = STDIN, home_dir = Etc.getpwuid.dir, repo_dir = Etc.getpwuid.dir)
|
18
|
-
Gritano::Console.remote_console(false)
|
18
|
+
Gritano::Console.remote_console(false, home_dir)
|
19
19
|
_execute(cmd, Gritano::Console::Gritano.new(stdin, home_dir, repo_dir))
|
20
20
|
end
|
21
21
|
|
22
22
|
def CLI.check(cmd, login, stdin = STDIN, home_dir = Etc.getpwuid.dir, repo_dir = Etc.getpwuid.dir)
|
23
|
-
Gritano::Console.remote_console(true)
|
23
|
+
Gritano::Console.remote_console(true, home_dir)
|
24
24
|
_execute(cmd + [login], Gritano::Console::Remote.new(stdin, home_dir, repo_dir))
|
25
25
|
end
|
26
26
|
|
data/lib/gritano/config.rb
CHANGED
data/lib/gritano/console.rb
CHANGED
@@ -6,13 +6,14 @@ require File.join(ROOT_PATH, 'gritano/console/remote')
|
|
6
6
|
|
7
7
|
module Gritano
|
8
8
|
module Console
|
9
|
-
def Console.remote_console(remote)
|
9
|
+
def Console.remote_console(remote, home_dir = Etc.getpwuid.dir)
|
10
10
|
if remote
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
11
|
+
config = Config.new(File.join(home_dir, '.gritano', 'config.yml'))
|
12
|
+
Base.bin_name = "ssh #{config.ssh_user}@#{config.host_url} admin:"
|
13
|
+
Remote.bin_name = "ssh #{config.ssh_user}@#{config.host_url} "
|
14
|
+
Executor.bin_name = "ssh #{config.ssh_user}@#{config.host_url} admin:"
|
15
|
+
Gritano.bin_name = "ssh #{config.ssh_user}@#{config.host_url} admin:"
|
16
|
+
Installer.bin_name = "ssh #{config.ssh_user}@#{config.host_url} admin:"
|
16
17
|
else
|
17
18
|
Base.bin_name = "gritano "
|
18
19
|
Remote.bin_name = "gritano "
|
@@ -23,12 +23,10 @@ module Gritano
|
|
23
23
|
add_command "user:list" do |argv|
|
24
24
|
users = User.all
|
25
25
|
msg = Terminal::Table.new do |t|
|
26
|
-
t << ['user', '
|
26
|
+
t << ['user', 'admin']
|
27
27
|
t << :separator
|
28
28
|
users.each do |user|
|
29
|
-
|
30
|
-
email = user.email if user.email
|
31
|
-
t.add_row [user.login, email, user.admin]
|
29
|
+
t.add_row [user.login, user.admin]
|
32
30
|
end
|
33
31
|
end
|
34
32
|
msg = "there is no user registered" if users.count == 0
|
@@ -73,47 +71,18 @@ module Gritano
|
|
73
71
|
end
|
74
72
|
end
|
75
73
|
|
76
|
-
add_command "user:add", "username [
|
77
|
-
login,
|
74
|
+
add_command "user:add", "username [admin]*" do |argv|
|
75
|
+
login, admin = argv
|
78
76
|
if admin == 'true'
|
79
77
|
admin = true
|
80
78
|
else
|
81
79
|
admin = false
|
82
80
|
end
|
83
|
-
user = User.new(login: login,
|
81
|
+
user = User.new(login: login, admin: admin)
|
84
82
|
return [true, "User #{login} added."] if user.save
|
85
83
|
return [false, "#{user.errors.full_messages.join(", ")}."]
|
86
84
|
end
|
87
85
|
|
88
|
-
add_command "user:password:set", "username" do |argv|
|
89
|
-
login, = argv
|
90
|
-
user = User.find_by_login(login)
|
91
|
-
if user.crypted_password == nil
|
92
|
-
puts "You have not set your password yet."
|
93
|
-
print "Please, set one now: "
|
94
|
-
user.password = @stdin.noecho(&:gets).gsub("\n", "")
|
95
|
-
puts
|
96
|
-
if user.save
|
97
|
-
return [true, "Done!"]
|
98
|
-
end
|
99
|
-
else
|
100
|
-
print "Before you start, enter you current password: "
|
101
|
-
if user.password == @stdin.noecho(&:gets).gsub("\n", "")
|
102
|
-
puts
|
103
|
-
print "Now, enter you new password: "
|
104
|
-
user.password = @stdin.noecho(&:gets).gsub("\n", "")
|
105
|
-
puts
|
106
|
-
if user.save
|
107
|
-
return [true, "Done!"]
|
108
|
-
end
|
109
|
-
else
|
110
|
-
puts
|
111
|
-
return [false, "Password you entered do not match."]
|
112
|
-
end
|
113
|
-
end
|
114
|
-
return [false, "Password could not be changed."]
|
115
|
-
end
|
116
|
-
|
117
86
|
add_command "user:rm", "username" do |argv|
|
118
87
|
login, = argv
|
119
88
|
user = User.find_by_login(login)
|
@@ -124,28 +93,6 @@ module Gritano
|
|
124
93
|
end
|
125
94
|
return [false, "User #{login} could not be removed."]
|
126
95
|
end
|
127
|
-
|
128
|
-
add_command "user:email:update", "username email@server.com" do |argv|
|
129
|
-
login, email = argv
|
130
|
-
user = User.find_by_login(login)
|
131
|
-
if user
|
132
|
-
user.email = email
|
133
|
-
if user.save
|
134
|
-
return [true, "Email added."]
|
135
|
-
end
|
136
|
-
end
|
137
|
-
return [false, "Email could not be added."]
|
138
|
-
end
|
139
|
-
|
140
|
-
add_command "user:email:get", "username" do |argv|
|
141
|
-
login = argv
|
142
|
-
user = User.find_by_login(login)
|
143
|
-
if user
|
144
|
-
return [true, user.email] if user.email
|
145
|
-
return [false, "User does not have email."]
|
146
|
-
end
|
147
|
-
return [false, "User does not exist."]
|
148
|
-
end
|
149
96
|
|
150
97
|
add_command "user:key:add", "username keyname < key.pub" do |argv|
|
151
98
|
login, key_name, key_file = argv
|
@@ -319,6 +266,32 @@ module Gritano
|
|
319
266
|
end
|
320
267
|
return [false, "An error occurred. Permissions was not modified."]
|
321
268
|
end
|
269
|
+
|
270
|
+
add_command "config:host_url:set", "url" do |argv|
|
271
|
+
url, = argv
|
272
|
+
config = Config.new(File.join(@home_dir, '.gritano', 'config.yml'))
|
273
|
+
config.host_url = url
|
274
|
+
config.save
|
275
|
+
return [true, "done!"]
|
276
|
+
end
|
277
|
+
|
278
|
+
add_command "config:host_url:get" do |argv|
|
279
|
+
config = Config.new(File.join(@home_dir, '.gritano', 'config.yml'))
|
280
|
+
return [true, config.host_url]
|
281
|
+
end
|
282
|
+
|
283
|
+
add_command "config:ssh_user:set", "user" do |argv|
|
284
|
+
user, = argv
|
285
|
+
config = Config.new(File.join(@home_dir, '.gritano', 'config.yml'))
|
286
|
+
config.ssh_user = user
|
287
|
+
config.save
|
288
|
+
return [true, "done!"]
|
289
|
+
end
|
290
|
+
|
291
|
+
add_command "config:ssh_user:get" do |argv|
|
292
|
+
config = Config.new(File.join(@home_dir, '.gritano', 'config.yml'))
|
293
|
+
return [true, config.ssh_user]
|
294
|
+
end
|
322
295
|
|
323
296
|
end
|
324
297
|
end
|
@@ -51,21 +51,6 @@ module Gritano
|
|
51
51
|
keyname, login = args
|
52
52
|
@executor.execute(["user:key:rm"] + [login, keyname])
|
53
53
|
end
|
54
|
-
|
55
|
-
add_command "email:get" do |args|
|
56
|
-
login, = args
|
57
|
-
@executor.execute(["user:email:get"] + [login])
|
58
|
-
end
|
59
|
-
|
60
|
-
add_command "email:update", "email@server.com" do |args|
|
61
|
-
email, login = args
|
62
|
-
@executor.execute(["user:email:update"] + [login, email])
|
63
|
-
end
|
64
|
-
|
65
|
-
add_command "password:set" do |args|
|
66
|
-
login, = args
|
67
|
-
@executor.execute(["user:password:set"] + [login])
|
68
|
-
end
|
69
54
|
|
70
55
|
add_command "admin:help" do |args|
|
71
56
|
gritano = Gritano.new(@stdin)
|
data/lib/gritano/models/user.rb
CHANGED
@@ -10,15 +10,6 @@ module Gritano
|
|
10
10
|
has_many :permissions
|
11
11
|
has_many :repositories, through: :permissions
|
12
12
|
has_many :keys
|
13
|
-
|
14
|
-
def password
|
15
|
-
@password ||= Password.new(crypted_password)
|
16
|
-
end
|
17
|
-
|
18
|
-
def password=(new_password)
|
19
|
-
@password = Password.create(new_password)
|
20
|
-
self.crypted_password = @password
|
21
|
-
end
|
22
13
|
|
23
14
|
def add_access(repo, access)
|
24
15
|
change_access(repo, "add", access)
|
data/spec/cli_spec.rb
CHANGED
@@ -5,7 +5,7 @@ module Gritano
|
|
5
5
|
it "should execute local commands" do
|
6
6
|
console = double()
|
7
7
|
console.should_receive(:execute).and_return([true, "ok"])
|
8
|
-
Gritano::Console.should_receive(:remote_console).with(false)
|
8
|
+
Gritano::Console.should_receive(:remote_console).with(false, Etc.getpwuid.dir)
|
9
9
|
Gritano::Console::Gritano.should_receive(:new).and_return(console)
|
10
10
|
CLI.execute(["user:list"])
|
11
11
|
end
|
@@ -13,7 +13,7 @@ module Gritano
|
|
13
13
|
it "should execute remote commands" do
|
14
14
|
console = double()
|
15
15
|
console.should_receive(:execute).and_return([true, "ok"])
|
16
|
-
Gritano::Console.should_receive(:remote_console).with(true)
|
16
|
+
Gritano::Console.should_receive(:remote_console).with(true, Etc.getpwuid.dir)
|
17
17
|
Gritano::Console::Remote.should_receive(:new).and_return(console)
|
18
18
|
CLI.check(["repo:list"], "login")
|
19
19
|
end
|
data/spec/config_spec.rb
CHANGED
@@ -4,7 +4,7 @@ module Gritano
|
|
4
4
|
describe Config do
|
5
5
|
it "should get parameters" do
|
6
6
|
config = Config.new(File.join(".gritano", "config.yml"))
|
7
|
-
config.
|
7
|
+
config.host_url.should be == "gritano.org"
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should add parameters" do
|
@@ -13,9 +13,9 @@ module Gritano
|
|
13
13
|
FileUtils.rm(File.join("tmp", "config_test.yml"))
|
14
14
|
end
|
15
15
|
config = Config.new(File.join("tmp", "config_test.yml"))
|
16
|
-
config.
|
17
|
-
config.
|
18
|
-
config.
|
16
|
+
config.host_url.should be == "undefined"
|
17
|
+
config.host_url = "gritano.org"
|
18
|
+
config.host_url.should be == "gritano.org"
|
19
19
|
end
|
20
20
|
|
21
21
|
it "should remove parameters" do
|
@@ -25,11 +25,11 @@ module Gritano
|
|
25
25
|
end
|
26
26
|
config = Config.new(File.join("tmp", "config_test.yml"))
|
27
27
|
|
28
|
-
config.
|
29
|
-
config.
|
28
|
+
config.host_url = "gritano.org"
|
29
|
+
config.host_url.should be == "gritano.org"
|
30
30
|
|
31
|
-
config.remove(:
|
32
|
-
config.
|
31
|
+
config.remove(:host_url)
|
32
|
+
config.host_url.should be == "undefined"
|
33
33
|
end
|
34
34
|
|
35
35
|
it "should modify parameters" do
|
@@ -38,11 +38,11 @@ module Gritano
|
|
38
38
|
FileUtils.rm(File.join("tmp", "config_test.yml"))
|
39
39
|
end
|
40
40
|
config = Config.new(File.join("tmp", "config_test.yml"))
|
41
|
-
config.
|
42
|
-
config.
|
43
|
-
config.
|
44
|
-
config.
|
45
|
-
config.
|
41
|
+
config.host_url.should be == "undefined"
|
42
|
+
config.host_url = "gritano.org"
|
43
|
+
config.host_url.should be == "gritano.org"
|
44
|
+
config.host_url = "host.org"
|
45
|
+
config.host_url.should be == "host.org"
|
46
46
|
end
|
47
47
|
|
48
48
|
it "should save a config file" do
|
@@ -51,12 +51,12 @@ module Gritano
|
|
51
51
|
FileUtils.rm(File.join("tmp", "config_test.yml"))
|
52
52
|
end
|
53
53
|
config = Config.new(File.join("tmp", "config_test.yml"))
|
54
|
-
config.
|
54
|
+
config.host_url = "gritano.org"
|
55
55
|
config.email = {login: 'igor', smtp: 'smtp.igor.com'}
|
56
56
|
config.save
|
57
57
|
|
58
58
|
config2 = Config.new(File.join("tmp", "config_test.yml"))
|
59
|
-
config2.
|
59
|
+
config2.host_url.should be == "gritano.org"
|
60
60
|
config2.email[:login].should be == "igor"
|
61
61
|
config2.email[:smtp].should be == "smtp.igor.com"
|
62
62
|
end
|
@@ -31,7 +31,7 @@ module Gritano
|
|
31
31
|
it "should add users" do
|
32
32
|
user = double()
|
33
33
|
user.should_receive(:save).and_return(true)
|
34
|
-
User.should_receive(:new).with(login: "login",
|
34
|
+
User.should_receive(:new).with(login: "login", admin: false).and_return(user)
|
35
35
|
create_executor('.', 'tmp').execute(["user:add", "login"])
|
36
36
|
end
|
37
37
|
|
data/spec/console_spec.rb
CHANGED
@@ -8,16 +8,20 @@ module Gritano
|
|
8
8
|
Console::Executor.should_receive(:bin_name=).with("gritano ")
|
9
9
|
Console::Gritano.should_receive(:bin_name=).with("gritano ")
|
10
10
|
Console::Installer.should_receive(:bin_name=).with("gritano ")
|
11
|
-
|
11
|
+
FileUtils.rm_rf(File.join("tmp", ".gritano"))
|
12
|
+
FileUtils.mkdir(File.join('tmp', '.gritano'))
|
13
|
+
Console.remote_console(false, 'tmp')
|
12
14
|
end
|
13
15
|
|
14
16
|
it "should setup a remote console" do
|
15
|
-
Console::Base.should_receive(:bin_name=).with("ssh
|
16
|
-
Console::Remote.should_receive(:bin_name=).with("ssh
|
17
|
-
Console::Executor.should_receive(:bin_name=).with("ssh
|
18
|
-
Console::Gritano.should_receive(:bin_name=).with("ssh
|
19
|
-
Console::Installer.should_receive(:bin_name=).with("ssh
|
20
|
-
|
17
|
+
Console::Base.should_receive(:bin_name=).with("ssh undefined@undefined admin:")
|
18
|
+
Console::Remote.should_receive(:bin_name=).with("ssh undefined@undefined ")
|
19
|
+
Console::Executor.should_receive(:bin_name=).with("ssh undefined@undefined admin:")
|
20
|
+
Console::Gritano.should_receive(:bin_name=).with("ssh undefined@undefined admin:")
|
21
|
+
Console::Installer.should_receive(:bin_name=).with("ssh undefined@undefined admin:")
|
22
|
+
FileUtils.rm_rf(File.join("tmp", ".gritano"))
|
23
|
+
FileUtils.mkdir(File.join('tmp', '.gritano'))
|
24
|
+
Console.remote_console(true, 'tmp')
|
21
25
|
end
|
22
26
|
end
|
23
27
|
end
|
data/spec/model_user_spec.rb
CHANGED
@@ -92,15 +92,5 @@ module Gritano
|
|
92
92
|
user.add_access(repo, :write).should be_true
|
93
93
|
user.check_access(repo, :write).should be_true
|
94
94
|
end
|
95
|
-
|
96
|
-
it "can have a password" do
|
97
|
-
user = User.create(login: 'user', password: '123')
|
98
|
-
user.should be_valid
|
99
|
-
end
|
100
|
-
|
101
|
-
it "can if a password is valid" do
|
102
|
-
user = User.create(login: 'user', password: '123')
|
103
|
-
user.password.should be == '123'
|
104
|
-
end
|
105
95
|
end
|
106
96
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gritano
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-05-
|
12
|
+
date: 2013-05-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
@@ -238,6 +238,8 @@ files:
|
|
238
238
|
- db/migrate/005_add_admin_to_users.rb
|
239
239
|
- db/migrate/006_add_email_to_users.rb
|
240
240
|
- db/migrate/007_add_password_to_users.rb
|
241
|
+
- db/migrate/008_remove_password_from_user.rb
|
242
|
+
- db/migrate/009_remove_email_from_users.rb
|
241
243
|
- features/data/config_true.yml
|
242
244
|
- features/data/local_commands/repo_add_tmp_jeka_git.txt
|
243
245
|
- features/data/local_commands/repo_add_tmp_p_lang_git.txt
|
@@ -266,11 +268,6 @@ files:
|
|
266
268
|
- features/data/local_commands/user_admin_add_igorbonadio.txt
|
267
269
|
- features/data/local_commands/user_admin_rm_arybonadio.txt
|
268
270
|
- features/data/local_commands/user_admin_rm_igorbonadio.txt
|
269
|
-
- features/data/local_commands/user_email_get_igorbonadio.txt
|
270
|
-
- features/data/local_commands/user_email_get_jessicaeto.txt
|
271
|
-
- features/data/local_commands/user_email_get_wrong.txt
|
272
|
-
- features/data/local_commands/user_email_update_igorbonadio_igor@bonadio_com.txt
|
273
|
-
- features/data/local_commands/user_email_update_wrong_igor@bonadio_com.txt
|
274
271
|
- features/data/local_commands/user_key_add_igorbonadio_marvin.txt
|
275
272
|
- features/data/local_commands/user_key_add_userrr_marvino.txt
|
276
273
|
- features/data/local_commands/user_key_list_arybonadio.txt
|
@@ -340,16 +337,6 @@ files:
|
|
340
337
|
- features/data/remote_commands/admin_user_admin_rm_arybonadio_jessicaeto.txt
|
341
338
|
- features/data/remote_commands/admin_user_admin_rm_igorbonadio_igorbonadio.txt
|
342
339
|
- features/data/remote_commands/admin_user_admin_rm_igorbonadio_jessicaeto.txt
|
343
|
-
- features/data/remote_commands/admin_user_email_get_igorbonadio_igorbonadio.txt
|
344
|
-
- features/data/remote_commands/admin_user_email_get_igorbonadio_jessicaeto.txt
|
345
|
-
- features/data/remote_commands/admin_user_email_get_jessicaeto_igorbonadio.txt
|
346
|
-
- features/data/remote_commands/admin_user_email_get_jessicaeto_jessicaeto.txt
|
347
|
-
- features/data/remote_commands/admin_user_email_get_wrong_igorbonadio.txt
|
348
|
-
- features/data/remote_commands/admin_user_email_get_wrong_jessicaeto.txt
|
349
|
-
- features/data/remote_commands/admin_user_email_update_igorbonadio_igor@bonadio_com_igorbonadio.txt
|
350
|
-
- features/data/remote_commands/admin_user_email_update_igorbonadio_igor@bonadio_com_jessicaeto.txt
|
351
|
-
- features/data/remote_commands/admin_user_email_update_wrong_igor@bonadio_com_igorbonadio.txt
|
352
|
-
- features/data/remote_commands/admin_user_email_update_wrong_igor@bonadio_com_jessicaeto.txt
|
353
340
|
- features/data/remote_commands/admin_user_key_add_igorbonadio_marvin_igorbonadio.txt
|
354
341
|
- features/data/remote_commands/admin_user_key_add_igorbonadio_marvin_jessicaeto.txt
|
355
342
|
- features/data/remote_commands/admin_user_key_add_userrr_marvino_igorbonadio.txt
|
@@ -449,7 +436,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
449
436
|
version: '0'
|
450
437
|
segments:
|
451
438
|
- 0
|
452
|
-
hash:
|
439
|
+
hash: 2131381228569288873
|
453
440
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
454
441
|
none: false
|
455
442
|
requirements:
|
@@ -1 +0,0 @@
|
|
1
|
-
error: User does not have email.
|
@@ -1 +0,0 @@
|
|
1
|
-
jessica@eto.com
|
@@ -1 +0,0 @@
|
|
1
|
-
error: User does not exist.
|
@@ -1 +0,0 @@
|
|
1
|
-
Email added.
|
@@ -1 +0,0 @@
|
|
1
|
-
error: Email could not be added.
|
@@ -1 +0,0 @@
|
|
1
|
-
error: User does not have email.
|
@@ -1 +0,0 @@
|
|
1
|
-
error: access denied
|
@@ -1 +0,0 @@
|
|
1
|
-
jessica@eto.com
|
@@ -1 +0,0 @@
|
|
1
|
-
error: access denied
|
@@ -1 +0,0 @@
|
|
1
|
-
error: User does not exist.
|
@@ -1 +0,0 @@
|
|
1
|
-
error: access denied
|
@@ -1 +0,0 @@
|
|
1
|
-
Email added.
|
@@ -1 +0,0 @@
|
|
1
|
-
error: access denied
|
data/features/data/remote_commands/admin_user_email_update_wrong_igor@bonadio_com_igorbonadio.txt
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
error: Email could not be added.
|
data/features/data/remote_commands/admin_user_email_update_wrong_igor@bonadio_com_jessicaeto.txt
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
error: access denied
|