integrity 0.1.9.1 → 0.1.9.2
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/.gitignore +12 -0
 - data/CHANGES +28 -0
 - data/README.markdown +6 -0
 - data/Rakefile +44 -83
 - data/config/heroku/.gems +0 -3
 - data/config/heroku/integrity-config.rb +4 -1
 - data/integrity.gemspec +18 -6
 - data/lib/integrity.rb +9 -5
 - data/lib/integrity/app.rb +8 -8
 - data/lib/integrity/build.rb +7 -7
 - data/lib/integrity/helpers/authorization.rb +1 -1
 - data/lib/integrity/helpers/breadcrumbs.rb +1 -1
 - data/lib/integrity/helpers/rendering.rb +8 -2
 - data/lib/integrity/helpers/urls.rb +33 -23
 - data/lib/integrity/installer.rb +18 -17
 - data/lib/integrity/notifier/base.rb +7 -2
 - data/lib/integrity/project.rb +2 -2
 - data/test/acceptance/api_test.rb +1 -1
 - data/test/acceptance/browse_project_builds_test.rb +1 -1
 - data/test/acceptance/browse_project_test.rb +1 -1
 - data/test/acceptance/build_notifications_test.rb +1 -1
 - data/test/acceptance/create_project_test.rb +1 -1
 - data/test/acceptance/delete_project_test.rb +1 -1
 - data/test/acceptance/edit_project_test.rb +1 -1
 - data/test/acceptance/error_page_test.rb +1 -1
 - data/test/acceptance/installer_test.rb +2 -6
 - data/test/acceptance/manual_build_project_test.rb +1 -1
 - data/test/acceptance/not_found_page_test.rb +29 -0
 - data/test/acceptance/notifier_test.rb +1 -1
 - data/test/acceptance/project_syndication_test.rb +1 -1
 - data/test/acceptance/stylesheet_test.rb +10 -2
 - data/test/acceptance/unauthorized_page_test.rb +20 -0
 - data/test/helpers.rb +13 -7
 - data/test/helpers/acceptance.rb +1 -0
 - data/test/unit/build_test.rb +10 -0
 - data/test/unit/helpers_test.rb +63 -20
 - data/test/unit/integrity_test.rb +23 -6
 - data/test/unit/notifier_test.rb +5 -0
 - data/test/unit/project_test.rb +5 -0
 - data/views/home.haml +2 -2
 - data/views/layout.haml +6 -5
 - data/views/new.haml +1 -1
 - data/views/not_found.haml +2 -2
 - data/views/unauthorized.haml +4 -4
 - metadata +105 -6
 - data/test/acceptance/helpers.rb +0 -2
 - data/vendor/sinatra-ditties/README.rdoc +0 -3
 - data/vendor/sinatra-ditties/lib/sinatra/ditties.rb +0 -12
 - data/vendor/sinatra-ditties/lib/sinatra/ditties/authorization.rb +0 -61
 - data/vendor/sinatra-ditties/lib/sinatra/ditties/mailer.rb +0 -146
 
    
        data/test/unit/helpers_test.rb
    CHANGED
    
    | 
         @@ -1,25 +1,68 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require File.dirname(__FILE__) + "/../helpers"
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            class BrowsePublicProjectsTest < Test::Unit::TestCase
         
     | 
| 
       4 
     | 
    
         
            -
               
     | 
| 
      
 4 
     | 
    
         
            +
              setup do
         
     | 
| 
      
 5 
     | 
    
         
            +
                @h = Module.new { extend Integrity::Helpers }
         
     | 
| 
      
 6 
     | 
    
         
            +
              end
         
     | 
| 
       5 
7 
     | 
    
         | 
| 
       6 
8 
     | 
    
         
             
              test "#pretty_date" do
         
     | 
| 
       7 
     | 
    
         
            -
                pretty_date(Time.now).should == "today"
         
     | 
| 
       8 
     | 
    
         
            -
                pretty_date(Time.new - 86400).should == "yesterday"
         
     | 
| 
      
 9 
     | 
    
         
            +
                @h.pretty_date(Time.now).should == "today"
         
     | 
| 
      
 10 
     | 
    
         
            +
                @h.pretty_date(Time.new - 86400).should == "yesterday"
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
                @h.pretty_date(Time.mktime(1995, 12, 01)).should == "on Dec 01st"
         
     | 
| 
      
 13 
     | 
    
         
            +
                @h.pretty_date(Time.mktime(1995, 12, 21)).should == "on Dec 21st"
         
     | 
| 
      
 14 
     | 
    
         
            +
                @h.pretty_date(Time.mktime(1995, 12, 31)).should == "on Dec 31st"
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
                @h.pretty_date(Time.mktime(1995, 12, 22)).should == "on Dec 22nd"
         
     | 
| 
      
 17 
     | 
    
         
            +
                @h.pretty_date(Time.mktime(1995, 12, 22)).should == "on Dec 22nd"
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                @h.pretty_date(Time.mktime(1995, 12, 03)).should == "on Dec 03rd"
         
     | 
| 
      
 20 
     | 
    
         
            +
                @h.pretty_date(Time.mktime(1995, 12, 23)).should == "on Dec 23rd"
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                @h.pretty_date(Time.mktime(1995, 12, 15)).should == "on Dec 15th"
         
     | 
| 
      
 23 
     | 
    
         
            +
                @h.pretty_date(Time.mktime(1995, 12, 15)).should == "on Dec 15th"
         
     | 
| 
      
 24 
     | 
    
         
            +
                @h.pretty_date(Time.mktime(1995, 12, 15)).should == "on Dec 15th"
         
     | 
| 
      
 25 
     | 
    
         
            +
              end
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
              describe "urls" do
         
     | 
| 
      
 28 
     | 
    
         
            +
                before do
         
     | 
| 
      
 29 
     | 
    
         
            +
                  Integrity.config[:base_uri] = "http://example.org/ci"
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                  @project = Project.gen(:name => "Foo Bar")
         
     | 
| 
      
 32 
     | 
    
         
            +
                  @build   = Build.gen(:successful)
         
     | 
| 
      
 33 
     | 
    
         
            +
                  @commit  = @build.commit
         
     | 
| 
      
 34 
     | 
    
         
            +
                end
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                test "root" do
         
     | 
| 
      
 37 
     | 
    
         
            +
                  assert_equal "http://example.org/ci", @h.root_url.to_s
         
     | 
| 
      
 38 
     | 
    
         
            +
                  assert_equal "/ci", @h.root_path
         
     | 
| 
      
 39 
     | 
    
         
            +
                  assert_equal "/ci/stylesheet.css", @h.root_path("/stylesheet.css")
         
     | 
| 
       9 
40 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
      
 41 
     | 
    
         
            +
                  Integrity.config[:base_uri] = nil
         
     | 
| 
      
 42 
     | 
    
         
            +
                  @h.instance_variable_set(:@url, nil)
         
     | 
| 
      
 43 
     | 
    
         
            +
                  lambda { @h.root_url }.should raise_error
         
     | 
| 
      
 44 
     | 
    
         
            +
             
     | 
| 
      
 45 
     | 
    
         
            +
                  stub(@h).request { OpenStruct.new(:url => "http://0.0.0.0/") }
         
     | 
| 
      
 46 
     | 
    
         
            +
                  assert_equal "http://0.0.0.0/", @h.root_url.to_s
         
     | 
| 
      
 47 
     | 
    
         
            +
                end
         
     | 
| 
       13 
48 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
                 
     | 
| 
       15 
     | 
    
         
            -
             
     | 
| 
      
 49 
     | 
    
         
            +
                test "project" do
         
     | 
| 
      
 50 
     | 
    
         
            +
                  assert_equal "/ci/foo-bar", @h.project_path(@project)
         
     | 
| 
      
 51 
     | 
    
         
            +
                  assert_equal "http://example.org/ci/foo-bar",
         
     | 
| 
      
 52 
     | 
    
         
            +
                    @h.project_url(@project).to_s
         
     | 
| 
      
 53 
     | 
    
         
            +
                end
         
     | 
| 
       16 
54 
     | 
    
         | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
      
 55 
     | 
    
         
            +
                test "commit" do
         
     | 
| 
      
 56 
     | 
    
         
            +
                  assert_equal "/ci/foo-bar/commits/#{@commit.identifier}",
         
     | 
| 
      
 57 
     | 
    
         
            +
                    @h.commit_path(@build.commit)
         
     | 
| 
      
 58 
     | 
    
         
            +
                  assert_equal "http://example.org/ci/foo-bar/commits/#{@commit.identifier}",
         
     | 
| 
      
 59 
     | 
    
         
            +
                    @h.commit_url(@build.commit).to_s
         
     | 
| 
      
 60 
     | 
    
         
            +
                end
         
     | 
| 
       19 
61 
     | 
    
         | 
| 
       20 
     | 
    
         
            -
                 
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
      
 62 
     | 
    
         
            +
                test "compat" do
         
     | 
| 
      
 63 
     | 
    
         
            +
                  assert_equal @h.build_path(@build), @h.commit_path(@build.commit)
         
     | 
| 
      
 64 
     | 
    
         
            +
                  assert_equal @h.build_url(@build),  @h.commit_url(@build.commit)
         
     | 
| 
      
 65 
     | 
    
         
            +
                end
         
     | 
| 
       23 
66 
     | 
    
         
             
              end
         
     | 
| 
       24 
67 
     | 
    
         | 
| 
       25 
68 
     | 
    
         
             
              describe "#push_url_for" do
         
     | 
| 
         @@ -27,30 +70,30 @@ class BrowsePublicProjectsTest < Test::Unit::TestCase 
     | 
|
| 
       27 
70 
     | 
    
         
             
                  @project = Project.gen(:integrity)
         
     | 
| 
       28 
71 
     | 
    
         
             
                  Integrity.config[:admin_username] = "admin"
         
     | 
| 
       29 
72 
     | 
    
         
             
                  Integrity.config[:admin_password] = "test"
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
                  stub(self).request {
         
     | 
| 
       32 
     | 
    
         
            -
                    OpenStruct.new(:url => "http://integrity.example.org:1234")
         
     | 
| 
       33 
     | 
    
         
            -
                  }
         
     | 
| 
      
 73 
     | 
    
         
            +
                  Integrity.config[:base_uri] = "http://integrity.example.org:1234"
         
     | 
| 
       34 
74 
     | 
    
         
             
                end
         
     | 
| 
       35 
75 
     | 
    
         | 
| 
       36 
76 
     | 
    
         
             
                test "with auth disabled" do
         
     | 
| 
       37 
77 
     | 
    
         
             
                  Integrity.config[:use_basic_auth] = false
         
     | 
| 
       38 
78 
     | 
    
         | 
| 
       39 
     | 
    
         
            -
                   
     | 
| 
      
 79 
     | 
    
         
            +
                  assert_equal "http://integrity.example.org:1234/integrity/push",
         
     | 
| 
      
 80 
     | 
    
         
            +
                    @h.push_url_for(@project)
         
     | 
| 
       40 
81 
     | 
    
         
             
                end
         
     | 
| 
       41 
82 
     | 
    
         | 
| 
       42 
83 
     | 
    
         
             
                test "with auth and hashing enabled" do
         
     | 
| 
       43 
84 
     | 
    
         
             
                  Integrity.config[:use_basic_auth]      = true
         
     | 
| 
       44 
85 
     | 
    
         
             
                  Integrity.config[:hash_admin_password] = true
         
     | 
| 
       45 
86 
     | 
    
         | 
| 
       46 
     | 
    
         
            -
                   
     | 
| 
      
 87 
     | 
    
         
            +
                  assert_equal "http://admin:<password>@integrity.example.org:1234/integrity/push",
         
     | 
| 
      
 88 
     | 
    
         
            +
                    @h.push_url_for(@project)
         
     | 
| 
       47 
89 
     | 
    
         
             
                end
         
     | 
| 
       48 
90 
     | 
    
         | 
| 
       49 
91 
     | 
    
         
             
                test "with auth enabled and hashing disabled" do
         
     | 
| 
       50 
92 
     | 
    
         
             
                  Integrity.config[:use_basic_auth]      = true
         
     | 
| 
       51 
93 
     | 
    
         
             
                  Integrity.config[:hash_admin_password] = false
         
     | 
| 
       52 
94 
     | 
    
         | 
| 
       53 
     | 
    
         
            -
                   
     | 
| 
      
 95 
     | 
    
         
            +
                  assert_equal "http://admin:test@integrity.example.org:1234/integrity/push",
         
     | 
| 
      
 96 
     | 
    
         
            +
                    @h.push_url_for(@project)
         
     | 
| 
       54 
97 
     | 
    
         
             
                end
         
     | 
| 
       55 
98 
     | 
    
         
             
              end
         
     | 
| 
       56 
99 
     | 
    
         
             
            end
         
     | 
    
        data/test/unit/integrity_test.rb
    CHANGED
    
    | 
         @@ -1,14 +1,31 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require File.dirname(__FILE__) + "/../helpers"
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            class IntegrityTest < Test::Unit::TestCase
         
     | 
| 
       4 
     | 
    
         
            -
               
     | 
| 
       5 
     | 
    
         
            -
                 
     | 
| 
      
 4 
     | 
    
         
            +
              describe "#new" do
         
     | 
| 
      
 5 
     | 
    
         
            +
                setup do
         
     | 
| 
      
 6 
     | 
    
         
            +
                  stub(DataMapper).setup { nil }
         
     | 
| 
      
 7 
     | 
    
         
            +
                  @config_file = File.dirname(__FILE__) + "/../../config/config.sample.yml"
         
     | 
| 
      
 8 
     | 
    
         
            +
                end
         
     | 
| 
       6 
9 
     | 
    
         | 
| 
       7 
     | 
    
         
            -
                 
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
                it "doesn't require any argument" do
         
     | 
| 
      
 11 
     | 
    
         
            +
                  Integrity.new
         
     | 
| 
       9 
12 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
      
 13 
     | 
    
         
            +
                  assert_equal Integrity.default_configuration[:log],
         
     | 
| 
      
 14 
     | 
    
         
            +
                    Integrity.config[:log]
         
     | 
| 
      
 15 
     | 
    
         
            +
                end
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
                it "loads configuration from a file" do
         
     | 
| 
      
 18 
     | 
    
         
            +
                  Integrity.new(@config_file)
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
                  assert_equal "http://integrity.domain.tld", Integrity.config[:base_uri]
         
     | 
| 
      
 21 
     | 
    
         
            +
                  assert_equal "/path/to/scm/exports",        Integrity.config[:export_directory]
         
     | 
| 
      
 22 
     | 
    
         
            +
                end
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
                it "takes configuration as an hash" do
         
     | 
| 
      
 25 
     | 
    
         
            +
                  Integrity.new(:base_uri => "http://foo.org")
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
      
 27 
     | 
    
         
            +
                  assert_equal "http://foo.org", Integrity.config[:base_uri]
         
     | 
| 
      
 28 
     | 
    
         
            +
                end
         
     | 
| 
       12 
29 
     | 
    
         
             
              end
         
     | 
| 
       13 
30 
     | 
    
         | 
| 
       14 
31 
     | 
    
         
             
              specify "config is just a hash" do
         
     | 
    
        data/test/unit/notifier_test.rb
    CHANGED
    
    | 
         @@ -1,6 +1,11 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require File.dirname(__FILE__) + "/../helpers"
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            class NotifierTest < Test::Unit::TestCase
         
     | 
| 
      
 4 
     | 
    
         
            +
              test "deprecated methods" do
         
     | 
| 
      
 5 
     | 
    
         
            +
                Notifier::Base.new(Build.gen, {}).should respond_to(:build)
         
     | 
| 
      
 6 
     | 
    
         
            +
                Notifier::Base.new(Build.gen, {}).should respond_to(:build_url)
         
     | 
| 
      
 7 
     | 
    
         
            +
              end
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       4 
9 
     | 
    
         
             
              specify "IRC fixture is valid and can be saved" do
         
     | 
| 
       5 
10 
     | 
    
         
             
                lambda do
         
     | 
| 
       6 
11 
     | 
    
         
             
                  Notifier.generate(:irc).tap do |project|
         
     | 
    
        data/test/unit/project_test.rb
    CHANGED
    
    | 
         @@ -110,6 +110,11 @@ class ProjectTest < Test::Unit::TestCase 
     | 
|
| 
       110 
110 
     | 
    
         
             
                  project = Project.gen(:commits => commits)
         
     | 
| 
       111 
111 
     | 
    
         
             
                  project.last_commit.should == commits.sort_by {|c| c.committed_at }.last
         
     | 
| 
       112 
112 
     | 
    
         
             
                end
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
      
 114 
     | 
    
         
            +
                test "deprecated properties" do
         
     | 
| 
      
 115 
     | 
    
         
            +
                  @project.last_build.should      == @project.last_commit
         
     | 
| 
      
 116 
     | 
    
         
            +
                  @project.previous_builds.should == @project.previous_commits
         
     | 
| 
      
 117 
     | 
    
         
            +
                end
         
     | 
| 
       113 
118 
     | 
    
         
             
              end
         
     | 
| 
       114 
119 
     | 
    
         | 
| 
       115 
120 
     | 
    
         
             
              describe "Validation" do
         
     | 
    
        data/views/home.haml
    CHANGED
    
    | 
         @@ -4,7 +4,7 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
                %h1
         
     | 
| 
       5 
5 
     | 
    
         
             
                  Why don't you
         
     | 
| 
       6 
6 
     | 
    
         
             
                  = succeed "?" do
         
     | 
| 
       7 
     | 
    
         
            -
                    %a{ :href => "/new" } create your first project
         
     | 
| 
      
 7 
     | 
    
         
            +
                    %a{ :href => root_path("/new") } create your first project
         
     | 
| 
       8 
8 
     | 
    
         
             
            - else
         
     | 
| 
       9 
9 
     | 
    
         
             
              %ul#projects
         
     | 
| 
       10 
10 
     | 
    
         
             
                - @projects.each do |project|
         
     | 
| 
         @@ -18,4 +18,4 @@ 
     | 
|
| 
       18 
18 
     | 
    
         
             
                      - else
         
     | 
| 
       19 
19 
     | 
    
         
             
                        = project.human_readable_status
         
     | 
| 
       20 
20 
     | 
    
         
             
              %p#new
         
     | 
| 
       21 
     | 
    
         
            -
                %a{ :href => "/new" } Add a new project
         
     | 
| 
      
 21 
     | 
    
         
            +
                %a{ :href => root_path("/new") } Add a new project
         
     | 
    
        data/views/layout.haml
    CHANGED
    
    | 
         @@ -4,11 +4,12 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
                %meta{ :content => "text/html; charset=utf-8", :"http-equiv" => "Content-Type" }
         
     | 
| 
       5 
5 
     | 
    
         
             
                %meta{ :content => "en", :"http-equiv" => "Content-Language" }
         
     | 
| 
       6 
6 
     | 
    
         
             
                %title= "#{@title.last} | integrity"
         
     | 
| 
       7 
     | 
    
         
            -
                 
     | 
| 
       8 
     | 
    
         
            -
                %link{ :media => "screen", :type => "text/css", :href => "/buttons.css", :rel => "stylesheet" }
         
     | 
| 
       9 
     | 
    
         
            -
                %link{ :media => "screen", :type => "text/css", :href => "/integrity.css", :rel => "stylesheet" }
         
     | 
| 
      
 7 
     | 
    
         
            +
                - stylesheets(:reset, :buttons, :integrity)
         
     | 
| 
       10 
8 
     | 
    
         
             
                - unless @project.nil?
         
     | 
| 
       11 
     | 
    
         
            -
                  %link{ :rel 
     | 
| 
      
 9 
     | 
    
         
            +
                  %link{ :rel  => "alternate",                   |
         
     | 
| 
      
 10 
     | 
    
         
            +
                    :type   => "application/atom+xml",           |
         
     | 
| 
      
 11 
     | 
    
         
            +
                    :title  => "Build history Atom",             |
         
     | 
| 
      
 12 
     | 
    
         
            +
                    :href   => "#{project_path(@project)}.atom"} |
         
     | 
| 
       12 
13 
     | 
    
         | 
| 
       13 
14 
     | 
    
         
             
              %body
         
     | 
| 
       14 
15 
     | 
    
         
             
                #header
         
     | 
| 
         @@ -24,5 +25,5 @@ 
     | 
|
| 
       24 
25 
     | 
    
         
             
                      %strong&= current_user
         
     | 
| 
       25 
26 
     | 
    
         
             
                    - else
         
     | 
| 
       26 
27 
     | 
    
         
             
                      Hey there!
         
     | 
| 
       27 
     | 
    
         
            -
                      %a{ :href => "/login" } Log In
         
     | 
| 
      
 28 
     | 
    
         
            +
                      %a{ :href => root_path("/login") } Log In
         
     | 
| 
       28 
29 
     | 
    
         
             
                      if you have a user
         
     | 
    
        data/views/new.haml
    CHANGED
    
    | 
         @@ -1,4 +1,4 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            %form{ :method => "post", :action => (@project.new_record? ? "/" : project_path(@project)) }
         
     | 
| 
      
 1 
     | 
    
         
            +
            %form{ :method => "post", :action => (@project.new_record? ? root_path("/") : project_path(@project)) }
         
     | 
| 
       2 
2 
     | 
    
         
             
              - unless @project.new_record?
         
     | 
| 
       3 
3 
     | 
    
         
             
                .hidden
         
     | 
| 
       4 
4 
     | 
    
         
             
                  %input{ :name => "_method", :type => "hidden", :value => "put" }
         
     | 
    
        data/views/not_found.haml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            .error
         
     | 
| 
       2 
2 
     | 
    
         
             
              %h1
         
     | 
| 
       3 
3 
     | 
    
         
             
                Ehm, you seem a bit lost, sir. Maybe going to the
         
     | 
| 
       4 
     | 
    
         
            -
                %a{ :href => "/", :rel => "home" } list of projects
         
     | 
| 
      
 4 
     | 
    
         
            +
                %a{ :href => root_path("/"), :rel => "home" } list of projects
         
     | 
| 
       5 
5 
     | 
    
         
             
                will help?
         
     | 
| 
       6 
6 
     | 
    
         
             
              %dl
         
     | 
| 
       7 
7 
     | 
    
         
             
                %dt Ouch. This is a 404 error-thingie, right?
         
     | 
| 
         @@ -14,7 +14,7 @@ 
     | 
|
| 
       14 
14 
     | 
    
         
             
                    %strong DON'T PANIC
         
     | 
| 
       15 
15 
     | 
    
         
             
                  / if you didn't get the reference you aren't as nerd as you should be
         
     | 
| 
       16 
16 
     | 
    
         
             
                  You should probably just go back to
         
     | 
| 
       17 
     | 
    
         
            -
                  %a{ :href => "/", :rel => "home" } the projects list
         
     | 
| 
      
 17 
     | 
    
         
            +
                  %a{ :href => root_path("/"), :rel => "home" } the projects list
         
     | 
| 
       18 
18 
     | 
    
         
             
                  or, alternatively, go
         
     | 
| 
       19 
19 
     | 
    
         
             
                  = succeed "." do
         
     | 
| 
       20 
20 
     | 
    
         
             
                    %a{ :href => request.referer } back from whence you came
         
     | 
    
        data/views/unauthorized.haml
    CHANGED
    
    | 
         @@ -1,10 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            .error
         
     | 
| 
       2 
2 
     | 
    
         
             
              %h1
         
     | 
| 
       3 
3 
     | 
    
         
             
                So... you don't know the password? Hmm... You can
         
     | 
| 
       4 
     | 
    
         
            -
                %a{ :href => "/login" } try again
         
     | 
| 
      
 4 
     | 
    
         
            +
                %a{ :href => root_path("/login") } try again
         
     | 
| 
       5 
5 
     | 
    
         
             
                or
         
     | 
| 
       6 
6 
     | 
    
         
             
                = succeed "." do
         
     | 
| 
       7 
     | 
    
         
            -
                  %a{ :href => "/", :rel => "home" } go back
         
     | 
| 
      
 7 
     | 
    
         
            +
                  %a{ :href => root_path("/"), :rel => "home" } go back
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
              %dl
         
     | 
| 
       10 
10 
     | 
    
         
             
                %dt Er... So... I'm trying to login without a password...
         
     | 
| 
         @@ -19,12 +19,12 @@ 
     | 
|
| 
       19 
19 
     | 
    
         
             
                %dd
         
     | 
| 
       20 
20 
     | 
    
         
             
                  This just means that you can't access some part of this Integrity
         
     | 
| 
       21 
21 
     | 
    
         
             
                  server, but that shouldn't let you out of some of the
         
     | 
| 
       22 
     | 
    
         
            -
                  %a{ :href => "/" } awesome projects
         
     | 
| 
      
 22 
     | 
    
         
            +
                  %a{ :href => root_path("/") } awesome projects
         
     | 
| 
       23 
23 
     | 
    
         
             
                  hosted here. If this was just a misunderstanding and you
         
     | 
| 
       24 
24 
     | 
    
         
             
                  %strong do
         
     | 
| 
       25 
25 
     | 
    
         
             
                  have a password, then
         
     | 
| 
       26 
26 
     | 
    
         
             
                  = succeed "." do
         
     | 
| 
       27 
     | 
    
         
            -
                    %a{ :href => "/login" } click here to try again
         
     | 
| 
      
 27 
     | 
    
         
            +
                    %a{ :href => root_path("/login") } click here to try again
         
     | 
| 
       28 
28 
     | 
    
         | 
| 
       29 
29 
     | 
    
         
             
                %dt
         
     | 
| 
       30 
30 
     | 
    
         
             
                  So what the hell is
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: integrity
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1.9. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.9.2
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - "Nicol\xC3\xA1s Sanguinetti"
         
     | 
| 
         @@ -23,6 +23,16 @@ dependencies: 
     | 
|
| 
       23 
23 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       24 
24 
     | 
    
         
             
                    version: 0.9.1.1
         
     | 
| 
       25 
25 
     | 
    
         
             
                version: 
         
     | 
| 
      
 26 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 27 
     | 
    
         
            +
              name: sinatra-authorization
         
     | 
| 
      
 28 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 29 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 30 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 31 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 32 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 33 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 34 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 35 
     | 
    
         
            +
                version: 
         
     | 
| 
       26 
36 
     | 
    
         
             
            - !ruby/object:Gem::Dependency 
         
     | 
| 
       27 
37 
     | 
    
         
             
              name: haml
         
     | 
| 
       28 
38 
     | 
    
         
             
              type: :runtime
         
     | 
| 
         @@ -83,6 +93,96 @@ dependencies: 
     | 
|
| 
       83 
93 
     | 
    
         
             
                  - !ruby/object:Gem::Version 
         
     | 
| 
       84 
94 
     | 
    
         
             
                    version: "0"
         
     | 
| 
       85 
95 
     | 
    
         
             
                version: 
         
     | 
| 
      
 96 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 97 
     | 
    
         
            +
              name: rr
         
     | 
| 
      
 98 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 99 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 100 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 101 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 102 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 103 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 104 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 105 
     | 
    
         
            +
                version: 
         
     | 
| 
      
 106 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 107 
     | 
    
         
            +
              name: mocha
         
     | 
| 
      
 108 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 109 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 110 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 111 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 112 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 113 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 114 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 115 
     | 
    
         
            +
                version: 
         
     | 
| 
      
 116 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 117 
     | 
    
         
            +
              name: webrat
         
     | 
| 
      
 118 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 119 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 120 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 121 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 122 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 123 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 124 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 125 
     | 
    
         
            +
                version: 
         
     | 
| 
      
 126 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 127 
     | 
    
         
            +
              name: do_sqlite3
         
     | 
| 
      
 128 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 129 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 130 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 131 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 132 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 133 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 134 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 135 
     | 
    
         
            +
                version: 
         
     | 
| 
      
 136 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 137 
     | 
    
         
            +
              name: dm-sweatshop
         
     | 
| 
      
 138 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 139 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 140 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 141 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 142 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 143 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 144 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 145 
     | 
    
         
            +
                version: 
         
     | 
| 
      
 146 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 147 
     | 
    
         
            +
              name: ParseTree
         
     | 
| 
      
 148 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 149 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 150 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 151 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 152 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 153 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 154 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 155 
     | 
    
         
            +
                version: 
         
     | 
| 
      
 156 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 157 
     | 
    
         
            +
              name: jeremymcanally-context
         
     | 
| 
      
 158 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 159 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 160 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 161 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 162 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 163 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 164 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 165 
     | 
    
         
            +
                version: 
         
     | 
| 
      
 166 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 167 
     | 
    
         
            +
              name: jeremymcanally-pending
         
     | 
| 
      
 168 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 169 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 170 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 171 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 172 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 173 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 174 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 175 
     | 
    
         
            +
                version: 
         
     | 
| 
      
 176 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency 
         
     | 
| 
      
 177 
     | 
    
         
            +
              name: foca-storyteller
         
     | 
| 
      
 178 
     | 
    
         
            +
              type: :development
         
     | 
| 
      
 179 
     | 
    
         
            +
              version_requirement: 
         
     | 
| 
      
 180 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement 
         
     | 
| 
      
 181 
     | 
    
         
            +
                requirements: 
         
     | 
| 
      
 182 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 183 
     | 
    
         
            +
                  - !ruby/object:Gem::Version 
         
     | 
| 
      
 184 
     | 
    
         
            +
                    version: "0"
         
     | 
| 
      
 185 
     | 
    
         
            +
                version: 
         
     | 
| 
       86 
186 
     | 
    
         
             
            description: Your Friendly Continuous Integration server. Easy, fun and painless!
         
     | 
| 
       87 
187 
     | 
    
         
             
            email: info@integrityapp.com
         
     | 
| 
       88 
188 
     | 
    
         
             
            executables: 
         
     | 
| 
         @@ -92,6 +192,8 @@ extensions: [] 
     | 
|
| 
       92 
192 
     | 
    
         
             
            extra_rdoc_files: []
         
     | 
| 
       93 
193 
     | 
    
         | 
| 
       94 
194 
     | 
    
         
             
            files: 
         
     | 
| 
      
 195 
     | 
    
         
            +
            - .gitignore
         
     | 
| 
      
 196 
     | 
    
         
            +
            - CHANGES
         
     | 
| 
       95 
197 
     | 
    
         
             
            - README.markdown
         
     | 
| 
       96 
198 
     | 
    
         
             
            - Rakefile
         
     | 
| 
       97 
199 
     | 
    
         
             
            - bin/integrity
         
     | 
| 
         @@ -140,12 +242,13 @@ files: 
     | 
|
| 
       140 
242 
     | 
    
         
             
            - test/acceptance/delete_project_test.rb
         
     | 
| 
       141 
243 
     | 
    
         
             
            - test/acceptance/edit_project_test.rb
         
     | 
| 
       142 
244 
     | 
    
         
             
            - test/acceptance/error_page_test.rb
         
     | 
| 
       143 
     | 
    
         
            -
            - test/acceptance/helpers.rb
         
     | 
| 
       144 
245 
     | 
    
         
             
            - test/acceptance/installer_test.rb
         
     | 
| 
       145 
246 
     | 
    
         
             
            - test/acceptance/manual_build_project_test.rb
         
     | 
| 
      
 247 
     | 
    
         
            +
            - test/acceptance/not_found_page_test.rb
         
     | 
| 
       146 
248 
     | 
    
         
             
            - test/acceptance/notifier_test.rb
         
     | 
| 
       147 
249 
     | 
    
         
             
            - test/acceptance/project_syndication_test.rb
         
     | 
| 
       148 
250 
     | 
    
         
             
            - test/acceptance/stylesheet_test.rb
         
     | 
| 
      
 251 
     | 
    
         
            +
            - test/acceptance/unauthorized_page_test.rb
         
     | 
| 
       149 
252 
     | 
    
         
             
            - test/helpers.rb
         
     | 
| 
       150 
253 
     | 
    
         
             
            - test/helpers/acceptance.rb
         
     | 
| 
       151 
254 
     | 
    
         
             
            - test/helpers/acceptance/email_notifier.rb
         
     | 
| 
         @@ -168,10 +271,6 @@ files: 
     | 
|
| 
       168 
271 
     | 
    
         
             
            - test/unit/project_builder_test.rb
         
     | 
| 
       169 
272 
     | 
    
         
             
            - test/unit/project_test.rb
         
     | 
| 
       170 
273 
     | 
    
         
             
            - test/unit/scm_test.rb
         
     | 
| 
       171 
     | 
    
         
            -
            - vendor/sinatra-ditties/README.rdoc
         
     | 
| 
       172 
     | 
    
         
            -
            - vendor/sinatra-ditties/lib/sinatra/ditties.rb
         
     | 
| 
       173 
     | 
    
         
            -
            - vendor/sinatra-ditties/lib/sinatra/ditties/authorization.rb
         
     | 
| 
       174 
     | 
    
         
            -
            - vendor/sinatra-ditties/lib/sinatra/ditties/mailer.rb
         
     | 
| 
       175 
274 
     | 
    
         
             
            - views/_commit_info.haml
         
     | 
| 
       176 
275 
     | 
    
         
             
            - views/build.haml
         
     | 
| 
       177 
276 
     | 
    
         
             
            - views/error.haml
         
     | 
    
        data/test/acceptance/helpers.rb
    DELETED
    
    
| 
         @@ -1,12 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require "sinatra/base"
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            module Sinatra
         
     | 
| 
       4 
     | 
    
         
            -
              module Ditties
         
     | 
| 
       5 
     | 
    
         
            -
                def self.version
         
     | 
| 
       6 
     | 
    
         
            -
                  "0.0.2".freeze
         
     | 
| 
       7 
     | 
    
         
            -
                end
         
     | 
| 
       8 
     | 
    
         
            -
              end
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
              autoload :Authorization, File.dirname(__FILE__) + "/ditties/authorization"
         
     | 
| 
       11 
     | 
    
         
            -
              autoload :Mailer,        File.dirname(__FILE__) + "/ditties/mailer"
         
     | 
| 
       12 
     | 
    
         
            -
            end
         
     |