parlement 0.6 → 0.7
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/CHANGES +13 -0
- data/README +51 -38
- data/app/controllers/account_controller.rb +65 -37
- data/app/controllers/application.rb +1 -1
- data/app/controllers/elt_controller.rb +1 -0
- data/app/models/elt.rb +25 -14
- data/app/models/mail.rb +36 -35
- data/app/models/mail_notify.rb +23 -0
- data/app/views/account/_login.rhtml +1 -1
- data/app/views/account/_show.rhtml +22 -5
- data/app/views/elt/_elt.rhtml +44 -47
- data/app/views/elt/_listByDate.rhtml +7 -7
- data/app/views/elt/show.rhtml +3 -3
- data/app/views/layouts/top.rhtml +1 -0
- data/app/views/person/show.rhtml +5 -0
- data/config/environment.rb +1 -1
- data/db/ROOT/parlement/Parlement_fr.txt +46 -0
- data/db/ROOT/parlement/news/Version_06.txt +25 -0
- data/db/ROOT/parlement/news/Version_07.txt +12 -0
- data/db/ROOT/parlement/test.txt +14 -5
- data/db/ROOT/parlement.txt +2 -0
- data/db/development_structure.sql +119 -44
- data/db/migrate/004_people_image.rb +9 -0
- data/lib/data_import.rb +9 -13
- data/public/javascripts/mybehaviour.js +41 -0
- data/test/fixtures/img.png +0 -0
- data/test/fixtures/mail/avatar +249 -0
- data/test/fixtures/people.yml +1 -1
- data/test/functional/account_controller_test.rb +108 -56
- data/test/functional/elt_controller_test.rb +6 -6
- data/test/unit/elt_test.rb +1 -1
- data/test/unit/mail_test.rb +17 -0
- data/vendor/plugins/engines/CHANGELOG +91 -53
- data/vendor/plugins/engines/README +1 -1
- data/vendor/plugins/engines/generators/engine/templates/init_engine.erb +6 -4
- data/vendor/plugins/engines/generators/engine/templates/test/test_helper.erb +5 -1
- data/vendor/plugins/engines/init.rb +8 -3
- data/vendor/plugins/engines/lib/engines/action_mailer_extensions.rb +6 -5
- data/vendor/plugins/engines/lib/engines/action_view_extensions.rb +10 -6
- data/vendor/plugins/engines/lib/engines/active_record_extensions.rb +3 -1
- data/vendor/plugins/engines/lib/engines/dependencies_extensions.rb +27 -16
- data/vendor/plugins/engines/lib/engines/routing_extensions.rb +28 -0
- data/vendor/plugins/engines/lib/engines/testing_extensions.rb +6 -2
- data/vendor/plugins/engines/lib/engines.rb +77 -12
- data/vendor/plugins/engines/tasks/deprecated_engines.rake +7 -0
- data/vendor/plugins/engines/tasks/engines.rake +25 -10
- data/vendor/plugins/login_engine/CHANGELOG +8 -0
- data/vendor/plugins/login_engine/README +2 -2
- data/vendor/plugins/login_engine/app/controllers/user_controller.rb +4 -1
- data/vendor/plugins/login_engine/app/views/user/forgot_password.rhtml +1 -1
- data/vendor/plugins/login_engine/init_engine.rb +6 -5
- data/vendor/plugins/login_engine/lib/login_engine/authenticated_user.rb +1 -1
- data/vendor/plugins/output_compression/CHANGELOG +0 -0
- data/vendor/plugins/output_compression/MIT-LICENSE +20 -0
- data/vendor/plugins/output_compression/README +4 -4
- data/vendor/plugins/output_compression/init.rb +1 -2
- data/vendor/plugins/output_compression/lib/output_compression.rb +84 -66
- data/vendor/plugins/output_compression/{Rakefile → rakefile} +22 -22
- data/vendor/plugins/output_compression/test/output_test.rb +11 -0
- data/vendor/plugins/output_compression/test/test_controller.rb +3 -0
- data/vendor/plugins/output_compression/test/test_helper.rb +14 -0
- data/vendor/plugins/responds_to_parent/MIT-LICENSE +20 -0
- data/vendor/plugins/responds_to_parent/README +42 -0
- data/vendor/plugins/responds_to_parent/Rakefile +22 -0
- data/vendor/plugins/responds_to_parent/init.rb +1 -0
- data/vendor/plugins/responds_to_parent/lib/responds_to_parent.rb +45 -0
- data/vendor/plugins/responds_to_parent/test/responds_to_parent_test.rb +115 -0
- metadata +33 -16
- data/vendor/plugins/login_engine/tasks/tasks.rake +0 -4
- data/vendor/plugins/output_compression/tasks/output_compression_tasks.rake +0 -4
- data/vendor/plugins/output_compression/test/output_compression_test.rb +0 -8
- /data/db/ROOT/parlement/news/{release0.1.txt → Version_01.txt} +0 -0
- /data/db/ROOT/parlement/news/{release0.2.txt → Version_02.txt} +0 -0
- /data/db/ROOT/parlement/news/{release0.3.txt → Version_03.txt} +0 -0
- /data/db/ROOT/parlement/news/{release0.4.txt → Version_04.txt} +0 -0
- /data/db/ROOT/parlement/news/{release0.5.txt → Version_05.txt} +0 -0
data/lib/data_import.rb
CHANGED
@@ -5,7 +5,7 @@ require 'config/environment'
|
|
5
5
|
|
6
6
|
dir = 'db/ROOT'
|
7
7
|
|
8
|
-
ICONV = Iconv.new
|
8
|
+
ICONV = Iconv.new 'UTF-8', 'ISO-8859-15'
|
9
9
|
|
10
10
|
def inputDir(directory)
|
11
11
|
Dir.glob(directory+'/*.txt') do |file|
|
@@ -25,19 +25,17 @@ def inputDir(directory)
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def inputFile(d, fileName)
|
28
|
-
puts 'Loading: '+fileName
|
28
|
+
puts 'Loading: '+File.basename(fileName).gsub(/.txt/, '')
|
29
29
|
|
30
|
-
elt = Elt.find_by_id
|
30
|
+
elt = Elt.find_by_id File.basename(fileName).gsub(/.txt/, '')
|
31
31
|
|
32
|
-
|
33
|
-
|
34
|
-
if elt == nil
|
35
|
-
elt = Elt.new
|
36
|
-
elt.id = File.basename(fileName).gsub(/.txt/, '')
|
37
|
-
elt.created_on = nil
|
32
|
+
unless elt
|
33
|
+
elt = Elt.new :id => File.basename(fileName).gsub(/.txt/, ''), :created_on => nil
|
38
34
|
end
|
39
35
|
|
40
|
-
|
36
|
+
file = File.new fileName
|
37
|
+
|
38
|
+
if !elt.created_on or elt.created_on < file.mtime
|
41
39
|
elt.mail = nil
|
42
40
|
|
43
41
|
elt.parent_id = d
|
@@ -45,9 +43,7 @@ def inputFile(d, fileName)
|
|
45
43
|
puts elt.created_on.class
|
46
44
|
elt.subject = ICONV.iconv(file.gets.strip)
|
47
45
|
elt.body = format(ICONV.iconv(file.gets('\n')))
|
48
|
-
|
49
|
-
#puts "body: "+elt.body
|
50
|
-
puts " (created_on: "+elt.created_on.to_s+")"
|
46
|
+
puts "subject: #{elt.subject} (created_on: #{elt.created_on.to_s})"
|
51
47
|
elt.save
|
52
48
|
end
|
53
49
|
end
|
@@ -94,3 +94,44 @@ function updateChoices(choices) {
|
|
94
94
|
});
|
95
95
|
}
|
96
96
|
|
97
|
+
function setSize(img) {
|
98
|
+
var divHeight = findPosY(img.parentNode.nextSibling) - findPosY(img);
|
99
|
+
if (findPosY(img.parentNode.nextSibling) == 0) divHeight = findPosY(img.parentNode.nextSibling.nextSibling) - findPosY(img);
|
100
|
+
|
101
|
+
if (false && img.offsetWidth > 1) {
|
102
|
+
var debug = document.createElement("span");
|
103
|
+
debug.appendChild(document.createTextNode(
|
104
|
+
"divHeight: "+divHeight
|
105
|
+
+"; img.offsetHeight:"+img.offsetHeight
|
106
|
+
+"; img.offsetParent.offsetWidth: "+img.offsetParent.offsetWidth
|
107
|
+
+"; img.offsetWidth:"+img.offsetWidth
|
108
|
+
+"; findPosY(img):"+findPosY(img)
|
109
|
+
+"; findPosY(img.parentNode.nextSibling):"
|
110
|
+
+findPosY(img.parentNode.nextSibling)));
|
111
|
+
if (img.parentNode.parentNode) img.parentNode.parentNode.insertBefore(debug, img.parentNode);
|
112
|
+
}
|
113
|
+
|
114
|
+
if (divHeight > 0 && img.offsetHeight > divHeight) img.style.height = divHeight+"px";
|
115
|
+
|
116
|
+
// For IE
|
117
|
+
// Only touch the width, in order to keep the width/height ratio
|
118
|
+
while (img.offsetHeight > 0 && img.offsetWidth > img.offsetParent.offsetWidth / 3) {
|
119
|
+
img.style.height = (img.offsetHeight - 30) + "px";
|
120
|
+
}
|
121
|
+
}
|
122
|
+
|
123
|
+
function findPosY(obj) {
|
124
|
+
if (!obj) return 0;
|
125
|
+
var curtop = 0;
|
126
|
+
if (obj.offsetParent)
|
127
|
+
while (1) {
|
128
|
+
curtop += obj.offsetTop;
|
129
|
+
if (!obj.offsetParent)
|
130
|
+
break;
|
131
|
+
obj = obj.offsetParent;
|
132
|
+
}
|
133
|
+
else if (obj.y)
|
134
|
+
curtop += obj.y;
|
135
|
+
return curtop;
|
136
|
+
}
|
137
|
+
|
Binary file
|
@@ -0,0 +1,249 @@
|
|
1
|
+
From emmanuel.charpentier@free.fr Sun Jul 09 00:17:52 2006
|
2
|
+
Return-path: <emmanuel.charpentier@free.fr>
|
3
|
+
X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on achilles
|
4
|
+
X-Spam-Level:
|
5
|
+
X-Spam-Status: No, score=-5.6 required=4.0 tests=ALL_TRUSTED,BAYES_00,
|
6
|
+
MIME_BASE64_NO_NAME,NO_REAL_NAME autolearn=ham version=3.1.3
|
7
|
+
Envelope-to: manu@localhost
|
8
|
+
Delivery-date: Sun, 09 Jul 2006 00:17:52 +0200
|
9
|
+
Received: from [127.0.0.1] (helo=localhost)
|
10
|
+
by localhost.localdomain with esmtp (Exim 4.62)
|
11
|
+
(envelope-from <manu@localhost>)
|
12
|
+
id 1FzL7Y-00063H-Hi
|
13
|
+
for manu@localhost; Sun, 09 Jul 2006 00:17:52 +0200
|
14
|
+
Date: Sun, 9 Jul 2006 00:17:52 +0200
|
15
|
+
From: manu@leparlement.org
|
16
|
+
To: people@leparlement.org
|
17
|
+
Subject: Re: people
|
18
|
+
Message-ID: <20060708221752.GB23151@echarp.org>
|
19
|
+
MIME-Version: 1.0
|
20
|
+
Content-Type: multipart/mixed; boundary="dTy3Mrz/UPE2dbVg"
|
21
|
+
Content-Disposition: inline
|
22
|
+
User-Agent: Mutt/1.5.11+cvs20060403
|
23
|
+
Status: RO
|
24
|
+
Content-Length: 15459
|
25
|
+
Lines: 222
|
26
|
+
|
27
|
+
|
28
|
+
--dTy3Mrz/UPE2dbVg
|
29
|
+
Content-Type: text/plain; charset=us-ascii
|
30
|
+
Content-Disposition: inline
|
31
|
+
|
32
|
+
Test de mon propre avatar
|
33
|
+
|
34
|
+
--dTy3Mrz/UPE2dbVg
|
35
|
+
Content-Type: image/jpeg
|
36
|
+
Content-Disposition: attachment; filename="20030520echarp.jpg"
|
37
|
+
Content-Transfer-Encoding: base64
|
38
|
+
|
39
|
+
/9j/4AAQSkZJRgABAQEASABIAAD/4RS/RXhpZgAASUkqAAgAAAALAA4BAgAgAAAAkgAAAA8B
|
40
|
+
AgAYAAAAsgAAABABAgAMAAAAygAAABIBAwABAAAAAQAAABoBBQABAAAA1gAAABsBBQABAAAA
|
41
|
+
3gAAACgBAwABAAAAAgAAADEBAgAIAAAA5gAAADIBAgAUAAAA7gAAABMCAwABAAAAAgAAAGmH
|
42
|
+
BAABAAAAAgEAAIkEAABPTFlNUFVTIERJR0lUQUwgQ0FNRVJBICAgICAgICAgAE9MWU1QVVMg
|
43
|
+
T1BUSUNBTCBDTy4sTFREAEM4MzBMLEQzNDBSAEgAAAABAAAASAAAAAEAAAB2ODVwLTcxADAw
|
44
|
+
MDA6MDA6MDAgMDA6MDA6MDAAFgCaggUAAQAAABACAACdggUAAQAAABgCAAAniAMAAQAAAGQA
|
45
|
+
AAAAkAcABAAAADAyMTADkAIAFAAAACACAAAEkAIAFAAAADQCAAABkQcABAAAAAECAwACkQUA
|
46
|
+
AQAAAEgCAAAEkgoAAQAAAFACAAAFkgUAAQAAAFgCAAAHkgMAAQAAAAEAAAAIkgMAAQAAAAAA
|
47
|
+
AAAJkgMAAQAAAAAAAAAKkgUAAQAAAGACAAB8kgcAhgEAAGgCAACGkgcAfQAAAO4DAAAAoAcA
|
48
|
+
BAAAADAxMDABoAMAAQAAAAEAAAACoAQAAQAAAIACAAADoAQAAQAAAOABAAAAowcAAQAAAAMA
|
49
|
+
AAAFoAQAAQAAAGsEAAAAAAAAAQAAAC8AAAAcAAAACgAAADAwMDA6MDA6MDAgMDA6MDA6MDAA
|
50
|
+
MDAwMDowMDowMCAwMDowMDowMAABAAAAAQAAAAAAAAAKAAAAAwAAAAEAAAA3AAAACgAAAE9M
|
51
|
+
WU1QAAAACwAAAgQAAwAAAPYCAAABAgMAAQAAAAEAAAACAgMAAQAAAAAAAAADAgMAAQAAAAAA
|
52
|
+
AAAEAgUAAQAAAAIDAAAFAgUAAQAAAAoDAAAGAggABgAAABIDAAAHAgIABQAAAB4DAAAIAgIA
|
53
|
+
MwAAACMDAAAJAgcAIAAAAFYDAAAADwQAHgAAAHYDAAAAAAAAAAAAAAAAAAAAAAAACgAAAJgC
|
54
|
+
AABkAAAAEv9T/jH+Mf+u/q7+U1I4NQBbcGljdHVyZUluZm9dIFJlc29sdXRpb249MSBbQ2Ft
|
55
|
+
ZXJhIEluZm9dIFR5cGU9U1I4NQBPTFlNUFVTIERJR0lUQUwgQ0FNRVJBAAAAAAAAAAAAAACA
|
56
|
+
AIABelgAAAAAAQAAA8dIvAAACjAAAFC+AAArWgAAU68AAC48AAAw9gECAAAIbQAACDwJPwlV
|
57
|
+
CJUAALk5AQAAAAAAAAAxMAcAAAAAAAIAAAAAAAAAFQgAADxwGkAHMXoAAGRkAACyDQ3///8A
|
58
|
+
AAAAAAAAVS8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
59
|
+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
60
|
+
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABAAIABAAAAFI5OAACAAcABAAAADAxMDAA
|
61
|
+
AAAABgADAQMAAQAAAAYAAAAaAQUAAQAAANcEAAAbAQUAAQAAAN8EAAAoAQMAAQAAAAIAAAAB
|
62
|
+
AgQAAQAAAOcEAAACAgQAAQAAANAPAAAAAAAASAAAAAEAAABIAAAAAQAAAP/Y/9sAxQANCQoM
|
63
|
+
CggNDAsMDw4NEBQiFhQSEhQpHR8YIjErMzIwKy8uNjxNQjY5STouL0NcRElQUldXVzRBX2Ze
|
64
|
+
VGVNVVdTAQ4PDxQSFCcWFidTNy83U1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NT
|
65
|
+
U1NTU1NTU1NTU1NTU1NTU1MCDg8PFBIUJxYWJ1M3LzdTU1NTU1NTU1NTU1NTU1NTU1NTU1NT
|
66
|
+
U1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU//EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgME
|
67
|
+
BQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS
|
68
|
+
0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1
|
69
|
+
dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW
|
70
|
+
19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6AQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgsR
|
71
|
+
AAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoW
|
72
|
+
JDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKD
|
73
|
+
hIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj
|
74
|
+
5OXm5+jp6vLz9PX29/j5+v/AABEIAHgAoAMBIQACEQEDEQH/2gAMAwEAAhEDEQA/AM3NKKhP
|
75
|
+
QoAeaM0XAQmmmi4DlpM4IpXAkHtxRj3ouFg59T+dNx70wILmeO2j3yH2A9axb3UfMRkG3aew
|
76
|
+
5NK/QpJbshi1SZU2Pg4HUjmrNhLLe3UaDBQnDYGMD61T0ErdTqoLOKJBtgjyO5O4n8aWSV4s
|
77
|
+
ZjLZPVRmi4FCLUUknCEjnI/GodZ09Ly3LIqiVeVbHX2oTE0SA04c1CAB1pSeKYCGkYUhjkUk
|
78
|
+
8CntGR2POMcdaQDhG/8AdNO8p/7tMA8qT0H503y27lf++hTEc5rDtJqSwggqmB17nmp7e3SG
|
79
|
+
aLZGsr8ly56fSpbNYIWaCK9d/NjRCBlWR+QPT/PrVnRLQWdyTHOJFcgYK4pKTWhUoJu5p63c
|
80
|
+
G309yjMjswVSpwfX+QrlzqF0pB+0y+2XJ/nW0UrHOyITTX10gPMueHHBHf6V0NrfrJYoZvv/
|
81
|
+
AHSB3NTLQa1HilHWkthi0d6ACpYVBk/l9aQF0HNxgjkAZ/z+NEihjyT+BpgNEagYxn680nkx
|
82
|
+
k5MaZ+gosA4Ig6Ko+gop2A5zX9Nme6W6tUZyQNwXk5HesmRpIXVrqKWMkEDcpGfelYadhIZe
|
83
|
+
GKB2HAY44FdJo0Mgj3OSvoPSpa1LUtC3qdqbyFI/MCANuJIyf881z13phRvklDAdSykc1qno
|
84
|
+
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
|
247
|
+
|
248
|
+
--dTy3Mrz/UPE2dbVg--
|
249
|
+
|
data/test/fixtures/people.yml
CHANGED
@@ -10,18 +10,18 @@ class AccountController; def rescue_action(e) raise e end; end
|
|
10
10
|
|
11
11
|
class AccountControllerTest < Test::Unit::TestCase
|
12
12
|
|
13
|
-
fixtures :people, LoginEngine.config(:user_table).to_sym, :subscribers
|
13
|
+
fixtures :people, LoginEngine.config(:user_table).to_sym, :elts, :mails, :attachments, :subscribers
|
14
14
|
#fixtures :people, :users
|
15
15
|
|
16
16
|
def setup
|
17
17
|
LoginEngine::CONFIG[:salt] = "test-salt"
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
19
|
+
@controller = AccountController.new
|
20
|
+
@request, @response = ActionController::TestRequest.new, ActionController::TestResponse.new
|
21
|
+
@request.host = "localhost"
|
22
22
|
|
23
23
|
@elt = Elt.find '1'
|
24
|
-
|
24
|
+
end
|
25
25
|
|
26
26
|
|
27
27
|
""" _ _
|
@@ -32,28 +32,28 @@ class AccountControllerTest < Test::Unit::TestCase
|
|
32
32
|
|_| |___/
|
33
33
|
"""
|
34
34
|
def test_signup
|
35
|
-
|
35
|
+
post :login, :person => { :name => "my_bob", :email => "" },
|
36
36
|
:user => { :password => "" }
|
37
37
|
assert_not_nil session[:person]
|
38
38
|
assert_nil session[:user]
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_login_logoff_no_password
|
42
|
+
post :login, :person => { :name => "bob_other", :email => "" },
|
43
43
|
:user => { :password => "" }
|
44
44
|
assert_equal people(:bob_other), @request.session[:person]
|
45
45
|
assert_nil session[:user]
|
46
|
-
|
46
|
+
get :logout
|
47
47
|
assert_nil session[:person]
|
48
|
-
|
48
|
+
end
|
49
49
|
|
50
|
-
|
50
|
+
def test_bad_pseudo
|
51
51
|
post :login, :person => { :name => "yo", :email => "" },
|
52
52
|
:user => { :password => "" }
|
53
|
-
|
54
|
-
|
53
|
+
assert_invalid_column_on_record "person", :name
|
54
|
+
assert_success
|
55
55
|
assert_nil session[:person]
|
56
|
-
|
56
|
+
end
|
57
57
|
|
58
58
|
|
59
59
|
""" _
|
@@ -63,48 +63,48 @@ class AccountControllerTest < Test::Unit::TestCase
|
|
63
63
|
| .__/ \__,_|___/___/ \_/\_/ \___/|_| \__,_|
|
64
64
|
|_|
|
65
65
|
"""
|
66
|
-
|
67
|
-
|
66
|
+
def test_password_protect
|
67
|
+
post :login, :person => { :name => "bob_another", :email => "" },
|
68
68
|
:user => { :password => "atest" }
|
69
69
|
assert_not_nil session[:person]
|
70
70
|
assert_not_nil session[:user]
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_auth_bob
|
74
|
+
post :login, :person => { :name => "bob", :email => "" },
|
75
75
|
:user => { :password => "atest" }
|
76
|
-
|
76
|
+
assert_equal people(:bob), @response.session[:person]
|
77
77
|
assert_not_nil session[:person]
|
78
78
|
assert_not_nil session[:user]
|
79
|
-
|
79
|
+
end
|
80
80
|
|
81
|
-
|
82
|
-
|
81
|
+
def test_bad_password
|
82
|
+
post :login, :person => { :name => "newbob", :email => "" },
|
83
83
|
:user => { :password => "newpassword", :password_confirmation => "wrong" }
|
84
|
-
|
85
|
-
|
86
|
-
|
84
|
+
#assert_invalid_column_on_record "user", :password
|
85
|
+
assert_success
|
86
|
+
end
|
87
87
|
|
88
|
-
|
89
|
-
|
88
|
+
def test_login_logoff_password
|
89
|
+
post :login, :person => { :name => "my_bob", :email => "" },
|
90
90
|
:user => { :password => "my_bob" }
|
91
91
|
assert_not_nil session[:person]
|
92
|
-
|
92
|
+
get :logout
|
93
93
|
assert_nil session[:user]
|
94
|
-
|
94
|
+
end
|
95
95
|
|
96
|
-
|
97
|
-
|
96
|
+
def test_invalid_password
|
97
|
+
post :login, :person => { :name => "my_bob", :email => "" },
|
98
98
|
:user => { :password => "my_bob" }
|
99
99
|
assert_not_nil session[:person]
|
100
100
|
assert_not_nil session[:user]
|
101
|
-
|
102
|
-
|
101
|
+
get :logout
|
102
|
+
post :login, :person => { :name => "my_bob", :email => "" },
|
103
103
|
:user => { :password => "my_bo" }
|
104
104
|
assert_nil session[:person]
|
105
105
|
assert_nil session[:user]
|
106
|
-
|
107
|
-
|
106
|
+
#assert_template_has "login"
|
107
|
+
end
|
108
108
|
|
109
109
|
|
110
110
|
""" _ _
|
@@ -113,8 +113,8 @@ class AccountControllerTest < Test::Unit::TestCase
|
|
113
113
|
| __/ | | | | | (_| | | |
|
114
114
|
\___|_| |_| |_|\__,_|_|_|
|
115
115
|
"""
|
116
|
-
|
117
|
-
|
116
|
+
def test_password_and_email_protect
|
117
|
+
post :login, :person => { :name => "my_bob", :email => "manu@noos.fr" },
|
118
118
|
:user => { :password => "my_bob" }
|
119
119
|
assert_not_nil session[:person]
|
120
120
|
assert_not_nil session[:user]
|
@@ -122,18 +122,17 @@ class AccountControllerTest < Test::Unit::TestCase
|
|
122
122
|
assert_equal "manu@noos.fr", @request.session[:user].email
|
123
123
|
assert_not_equal @request.session[:person].email, @request.session[:user].email
|
124
124
|
assert_not_nil @request.session[:user].security_token
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
125
|
+
end
|
126
|
+
|
127
|
+
def invalid_email
|
128
|
+
post :login, :person => { :name => "bob", :email => "" },
|
129
129
|
:user => { :password => "not_correct" }
|
130
130
|
|
131
131
|
assert_nil session[:person]
|
132
132
|
assert_nil session[:user]
|
133
|
-
|
134
|
-
assert_template_has "login"
|
135
|
-
end
|
136
133
|
|
134
|
+
assert_template_has "login"
|
135
|
+
end
|
137
136
|
|
138
137
|
def test_email_protect
|
139
138
|
LoginEngine::CONFIG[:use_email_notification] = true
|
@@ -184,7 +183,7 @@ class AccountControllerTest < Test::Unit::TestCase
|
|
184
183
|
user = User.find_by_email("newbob@test.com")
|
185
184
|
person = Person.find_by_name(user.login)
|
186
185
|
assert_equal user.email, person.email
|
187
|
-
|
186
|
+
|
188
187
|
post :login, :person => { :name => "newbob", :email => "" },
|
189
188
|
:user => { :password => "newpassword" }
|
190
189
|
assert_not_nil session[:person]
|
@@ -240,26 +239,79 @@ class AccountControllerTest < Test::Unit::TestCase
|
|
240
239
|
get :logout
|
241
240
|
end
|
242
241
|
|
243
|
-
|
244
|
-
|
242
|
+
def test_update_subscribe
|
243
|
+
post :login, :person => { :name => "bob_other", :email => "" },
|
245
244
|
:user => { :password => "" }, :divId => 'author_ROOT'
|
246
245
|
|
247
246
|
controller = @controller
|
248
247
|
@controller = EltController.new
|
249
248
|
post :create, :id => @elt.id, :commit => "Propose!",
|
250
249
|
:elt =>{
|
251
|
-
|
250
|
+
:body => "+1", :subject => "test_create", :parent_id => @elt.id }
|
252
251
|
@controller = controller
|
253
|
-
|
252
|
+
get :logout
|
254
253
|
|
255
|
-
|
254
|
+
post :login, :person => { :name => "bob_other", :email => "" },
|
256
255
|
:user => { :password => "" }, :divId => 'author_1'
|
257
256
|
|
258
|
-
|
257
|
+
assert_success
|
259
258
|
assert_not_nil session[:person]
|
260
259
|
assert_template 'account/_show'
|
261
260
|
|
262
261
|
assert_tag :tag => "div", :attributes => { :class => "choicesToUpdate" }
|
263
|
-
|
262
|
+
end
|
263
|
+
|
264
|
+
""" _
|
265
|
+
__ ___ ____ _| |_ __ _ _ __
|
266
|
+
/ _` \ \ / / _` | __/ _` | '__|
|
267
|
+
| (_| |\ V / (_| | || (_| | |
|
268
|
+
\__,_| \_/ \__,_|\__\__,_|_|
|
269
|
+
"""
|
270
|
+
def test_set_avatar
|
271
|
+
ActionMailer::Base.deliveries = []
|
272
|
+
post :login, :person => { :name => "bob_other", :email => "" },
|
273
|
+
:user => { :password => "" }, :divId => 'author_ROOT'
|
274
|
+
|
275
|
+
eltsCount = Elt.count
|
276
|
+
img = uploaded_png("#{File.expand_path(RAILS_ROOT)}/test/fixtures/img.png")
|
277
|
+
post :setAvatar, :person => { :image => img }
|
278
|
+
assert_equal eltsCount + 2, Elt.count
|
279
|
+
assert Person.find('bob_other').image.match(/^\/attachment\/file\/imgpng\/img.png$/)
|
280
|
+
|
281
|
+
#puts ActionMailer::Base.deliveries.last.to_yaml
|
282
|
+
assert_equal 3, ActionMailer::Base.deliveries.last.parts.size
|
283
|
+
assert_equal "image/png", ActionMailer::Base.deliveries.last.parts.last.content_type
|
284
|
+
assert_equal "img.png", ActionMailer::Base.deliveries.last.parts.last.disposition_param('filename')
|
285
|
+
assert_equal 90173, ActionMailer::Base.deliveries.last.parts.last.body.size
|
286
|
+
end
|
287
|
+
|
288
|
+
private
|
289
|
+
# get us an object that represents an uploaded file
|
290
|
+
def uploaded_file(path, content_type="application/octet-stream", filename=nil)
|
291
|
+
filename ||= File.basename(path)
|
292
|
+
t = Tempfile.new(filename)
|
293
|
+
FileUtils.copy_file(path, t.path)
|
294
|
+
(class << t; self; end;).class_eval do
|
295
|
+
alias local_path path
|
296
|
+
define_method(:original_filename) { filename }
|
297
|
+
define_method(:content_type) { content_type }
|
298
|
+
end
|
299
|
+
return t
|
300
|
+
end
|
301
|
+
|
302
|
+
# a PNG helper
|
303
|
+
def uploaded_png(path, filename=nil)
|
304
|
+
uploaded_file(path, 'image/png', filename)
|
305
|
+
end
|
306
|
+
|
307
|
+
# a JPEG helper
|
308
|
+
def uploaded_jpeg(path, filename=nil)
|
309
|
+
uploaded_file(path, 'image/jpeg', filename)
|
310
|
+
end
|
311
|
+
|
312
|
+
# a GIF helper
|
313
|
+
def uploaded_gif(path, filename=nil)
|
314
|
+
uploaded_file(path, 'image/gif', filename)
|
315
|
+
end
|
264
316
|
end
|
265
317
|
|
@@ -5,15 +5,15 @@ require 'elt_controller'
|
|
5
5
|
class EltController; def rescue_action(e) raise e end; end
|
6
6
|
|
7
7
|
class EltControllerTest < Test::Unit::TestCase
|
8
|
-
|
8
|
+
fixtures :people, LoginEngine.config(:user_table).to_sym, :elts, :mails, :attachments, :subscribers
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
10
|
+
def setup
|
11
|
+
@controller = EltController.new
|
12
|
+
@request = ActionController::TestRequest.new
|
13
|
+
@response = ActionController::TestResponse.new
|
14
14
|
|
15
15
|
@elt = Elt.find 'ROOT'
|
16
|
-
|
16
|
+
end
|
17
17
|
|
18
18
|
def test_create
|
19
19
|
post :create, :id => @elt.id, :commit => "Propose!",
|
data/test/unit/elt_test.rb
CHANGED