branston 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -1,11 +1,21 @@
1
1
  = Branston =
2
- A user story tracker that generates gherkin files and step definitions for use
3
- with the cucumber testing framework.
2
+
3
+ A user story tracker that generates gherkin files and step
4
+ definitions for use with the cucumber testing framework.
5
+
6
+ After installation, Branston acts as both a server and a client. The server
7
+ allows you to create accounts, log in, create user stories, and group them into
8
+ iterations and releases. Individual user stories can be given acceptance
9
+ conditions so that the geeks developing them know when they're done.
10
+
11
+ Once a user story has been given acceptance conditions, it's possible to write a
12
+ cucumber test for it. On a developer machine, the Branston client allows a
13
+ developer to auto-generate cucumber tests from the user stories on the server.
4
14
 
5
15
  == Installation ==
6
16
 
7
- There's a bit of a dependency chain needed to get things running. Cucumber has
8
- a dependency on Nokogiri, which itself has some libxml related dependencies
17
+ There's a bit of a dependency chain needed to get things running. Cucumber has
18
+ a dependency on Nokogiri, which itself has some libxml related dependencies
9
19
  including a dependency on a C compiler. On a clean Debian/Ubuntu box, this...
10
20
 
11
21
  sudo apt-get install libxml-ruby libxml2-dev libxslt-ruby libxslt-dev build-essential sqlite3
@@ -1,22 +1,23 @@
1
- module AuthenticatedTestHelper
2
- # Sets the current <%= file_name %> in the session from the <%= file_name %> fixtures.
3
- def login_as(<%= file_name %>)
4
- @request.session[:<%= file_name %>_id] = <%= file_name %> ? (<%= file_name %>.is_a?(<%= file_name.camelize %>) ? <%= file_name %>.id : <%= table_name %>(<%= file_name %>).id) : nil
5
- end
1
+ #module AuthenticatedTestHelper
2
+ # # Sets the current <%= file_name %> in the session from the <%= file_name %> fixtures.
3
+ # def login_as(<%= file_name %>)
4
+ # @request.session[:<%= file_name %>_id] = <%= file_name %> ? (<%= file_name %>.is_a?(<%= file_name.camelize %>) ? <%= file_name %>.id : <%= table_name %>(<%= file_name %>).id) : nil
5
+ # end
6
+
7
+ # def authorize_as(<%= file_name %>)
8
+ # @request.env["HTTP_AUTHORIZATION"] = <%= file_name %> ? ActionController::HttpAuthentication::Basic.encode_credentials(<%= table_name %>(<%= file_name %>).login, 'monkey') : nil
9
+ # end
10
+ #
11
+ #<% if options[:rspec] -%>
12
+ # # rspec
13
+ # def mock_<%= file_name %>
14
+ # <%= file_name %> = mock_model(<%= class_name %>, :id => 1,
15
+ # :login => 'user_name',
16
+ # :name => 'U. Surname',
17
+ # :to_xml => "<%= class_name %>-in-XML", :to_json => "<%= class_name %>-in-JSON",
18
+ # :errors => [])
19
+ # <%= file_name %>
20
+ # end
21
+ #<% end -%>
22
+ #end
6
23
 
7
- def authorize_as(<%= file_name %>)
8
- @request.env["HTTP_AUTHORIZATION"] = <%= file_name %> ? ActionController::HttpAuthentication::Basic.encode_credentials(<%= table_name %>(<%= file_name %>).login, 'monkey') : nil
9
- end
10
-
11
- <% if options[:rspec] -%>
12
- # rspec
13
- def mock_<%= file_name %>
14
- <%= file_name %> = mock_model(<%= class_name %>, :id => 1,
15
- :login => 'user_name',
16
- :name => 'U. Surname',
17
- :to_xml => "<%= class_name %>-in-XML", :to_json => "<%= class_name %>-in-JSON",
18
- :errors => [])
19
- <%= file_name %>
20
- end
21
- <% end -%>
22
- end
@@ -7,17 +7,17 @@
7
7
  # DB_password = hash(user_password, DB_user_salt, Code_site_key)
8
8
  # That means an attacker needs access to both your site's code *and* its
9
9
  # database to mount an "offline dictionary attack.":http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/web-authentication.html
10
- #
10
+ #
11
11
  # It's probably of minor importance, but recommended by best practices: 'defense
12
12
  # in depth'. Needless to say, if you upload this to github or the youtubes or
13
13
  # otherwise place it in public view you'll kinda defeat the point. Your users'
14
14
  # passwords are still secure, and the world won't end, but defense_in_depth -= 1.
15
- #
15
+ #
16
16
  # Please note: if you change this, all the passwords will be invalidated, so DO
17
17
  # keep it someplace secure. Use the random value given or type in the lyrics to
18
18
  # your favorite Jay-Z song or something; any moderately long, unpredictable text.
19
19
  REST_AUTH_SITE_KEY = '<%= $rest_auth_site_key_from_generator %>'
20
-
20
+
21
21
  # Repeated applications of the hash make brute force (even with a compromised
22
22
  # database and site key) harder, and scale with Moore's law.
23
23
  #
@@ -26,13 +26,14 @@ REST_AUTH_SITE_KEY = '<%= $rest_auth_site_key_from_generator %>'
26
26
  # so simple and obvious that they should be used in every password system.
27
27
  # There is really no excuse not to use them." http://tinyurl.com/37lb73
28
28
  # Practical Security (Ferguson & Scheier) p350
29
- #
29
+ #
30
30
  # A modest 10 foldings (the default here) adds 3ms. This makes brute forcing 10
31
31
  # times harder, while reducing an app that otherwise serves 100 reqs/s to 78 signin
32
32
  # reqs/s, an app that does 10reqs/s to 9.7 reqs/s
33
- #
33
+ #
34
34
  # More:
35
35
  # * http://www.owasp.org/index.php/Hashing_Java
36
36
  # * "An Illustrated Guide to Cryptographic Hashes":http://www.unixwiz.net/techtips/iguide-crypto-hashes.html
37
37
 
38
- REST_AUTH_DIGEST_STRETCHES = <%= $rest_auth_digest_stretches_from_generator %>
38
+ REST_AUTH_DIGEST_STRETCHES = '<%= $rest_auth_digest_stretches_from_generator %>'
39
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: branston
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - dave.hrycyszyn@headlondon.com
@@ -11,7 +11,7 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2010-01-05 00:00:00 +00:00
14
+ date: 2010-01-07 00:00:00 +00:00
15
15
  default_executable: branston
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency