tddium-preview 0.0.1 → 0.0.4
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 +2 -0
- data/CHANGELOG +4 -0
- data/Gemfile.lock +45 -0
- data/LICENSE.txt +12 -1
- data/README.rdoc +1 -3
- data/Rakefile +31 -0
- data/bin/tddium +2 -4
- data/lib/tddium/constant.rb +124 -0
- data/lib/tddium/version.rb +6 -2
- data/lib/tddium.rb +349 -116
- data/spec/spec_helper.rb +8 -7
- data/spec/tddium_spec.rb +812 -247
- data/tddium.gemspec +10 -5
- metadata +31 -35
- data/doc/aws-keypair-example.tiff +0 -0
- data/doc/aws-secgroup-example.tiff +0 -0
- data/spec/fixtures/get_suites_200.json +0 -13
- data/spec/fixtures/get_test_executions_200.json +0 -13
- data/spec/fixtures/get_test_executions_200_all_finished.json +0 -13
- data/spec/fixtures/post_register_test_executions_200.json +0 -14
- data/spec/fixtures/post_register_test_executions_200_json_status_1.json +0 -14
- data/spec/fixtures/post_sessions_201.json +0 -13
- data/spec/fixtures/post_start_test_executions_200.json +0 -14
- data/spec/fixtures/post_suites_201.json +0 -13
- data/spec/fixtures/post_suites_201_json_status_1.json +0 -13
- data/spec/fixtures/post_suites_409.json +0 -13
data/.gitignore
CHANGED
data/CHANGELOG
CHANGED
data/Gemfile.lock
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
tddium-preview (0.0.3)
|
5
|
+
highline
|
6
|
+
json
|
7
|
+
tddium_client (= 0.0.3)
|
8
|
+
thor
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: http://rubygems.org/
|
12
|
+
specs:
|
13
|
+
crack (0.1.8)
|
14
|
+
diff-lcs (1.1.2)
|
15
|
+
fakefs (0.3.1)
|
16
|
+
highline (1.6.1)
|
17
|
+
httparty (0.7.4)
|
18
|
+
crack (= 0.1.8)
|
19
|
+
json (1.5.1)
|
20
|
+
rake (0.8.7)
|
21
|
+
rspec (2.5.0)
|
22
|
+
rspec-core (~> 2.5.0)
|
23
|
+
rspec-expectations (~> 2.5.0)
|
24
|
+
rspec-mocks (~> 2.5.0)
|
25
|
+
rspec-core (2.5.1)
|
26
|
+
rspec-expectations (2.5.0)
|
27
|
+
diff-lcs (~> 1.1.2)
|
28
|
+
rspec-mocks (2.5.0)
|
29
|
+
simplecov (0.4.1)
|
30
|
+
simplecov-html (~> 0.4.3)
|
31
|
+
simplecov-html (0.4.3)
|
32
|
+
tddium_client (0.0.3)
|
33
|
+
httparty
|
34
|
+
json
|
35
|
+
thor (0.14.6)
|
36
|
+
|
37
|
+
PLATFORMS
|
38
|
+
ruby
|
39
|
+
|
40
|
+
DEPENDENCIES
|
41
|
+
fakefs
|
42
|
+
rake
|
43
|
+
rspec
|
44
|
+
simplecov
|
45
|
+
tddium-preview!
|
data/LICENSE.txt
CHANGED
@@ -1,2 +1,13 @@
|
|
1
|
-
|
1
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
|
2
|
+
IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
3
|
+
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
4
|
+
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SOLANO LABS BE LIABLE FOR
|
5
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
6
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
7
|
+
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
8
|
+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
9
|
+
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
10
|
+
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
11
|
+
POSSIBILITY OF SUCH DAMAGE.
|
2
12
|
|
13
|
+
Copyright (c) 2011 Solano Labs All Rights Reserved
|
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -1,2 +1,33 @@
|
|
1
|
+
# Copyright (c) 2011 Solano Labs All Rights Reserved
|
2
|
+
|
1
3
|
require 'bundler'
|
2
4
|
Bundler::GemHelper.install_tasks
|
5
|
+
|
6
|
+
require 'rspec/core/rake_task'
|
7
|
+
|
8
|
+
RSpec::Core::RakeTask.new(:spec) do |t|
|
9
|
+
t.rspec_opts = "--color"
|
10
|
+
end
|
11
|
+
task :default => :spec
|
12
|
+
|
13
|
+
namespace :spec do
|
14
|
+
RUBY_VERSIONS = ["1.9.2-p180", "1.8.7-p302"]
|
15
|
+
GEMSET = "tddium"
|
16
|
+
desc "Runs the specs across Ruby 1.8.7 and 1.9.2"
|
17
|
+
task :xruby do
|
18
|
+
commands = []
|
19
|
+
gemsets = []
|
20
|
+
RUBY_VERSIONS.each do |ruby_version|
|
21
|
+
current_gemset = "ruby-#{ruby_version}@#{GEMSET}"
|
22
|
+
gemsets << current_gemset
|
23
|
+
commands << "rvm use #{ruby_version}" << "gem install bundler" << "bundle" << "rvm gemset create #{GEMSET}" <<
|
24
|
+
"rvm use #{current_gemset}" << "gem install bundler --no-rdoc --no-ri" << "bundle"
|
25
|
+
end
|
26
|
+
puts ""
|
27
|
+
puts "Attempting to run the specs across ruby #{RUBY_VERSIONS.join(" and ")}..."
|
28
|
+
puts "If you get an error, try running the following commands to get your environment set up:"
|
29
|
+
puts commands.join(" && ")
|
30
|
+
puts ""
|
31
|
+
Kernel.exec("rvm #{gemsets.join(",")} rake spec")
|
32
|
+
end
|
33
|
+
end
|
data/bin/tddium
CHANGED
@@ -0,0 +1,124 @@
|
|
1
|
+
=begin
|
2
|
+
Copyright (c) 2011 Solano Labs All Rights Reserved
|
3
|
+
=end
|
4
|
+
|
5
|
+
module TddiumConstant
|
6
|
+
|
7
|
+
module Dependency
|
8
|
+
VERSION_REGEXP = /([\d\.]+)/
|
9
|
+
end
|
10
|
+
|
11
|
+
|
12
|
+
module Default
|
13
|
+
SLEEP_TIME_BETWEEN_POLLS = 2
|
14
|
+
ENVIRONMENT = "production"
|
15
|
+
SSH_FILE = "~/.ssh/id_rsa.pub"
|
16
|
+
TEST_PATTERN = "**/*_spec.rb"
|
17
|
+
end
|
18
|
+
|
19
|
+
module Git
|
20
|
+
REMOTE_NAME = "tddium"
|
21
|
+
end
|
22
|
+
|
23
|
+
module Api
|
24
|
+
module Path
|
25
|
+
SUITES = "suites"
|
26
|
+
SESSIONS = "sessions"
|
27
|
+
USERS = "users"
|
28
|
+
SIGN_IN = "#{USERS}/sign_in"
|
29
|
+
TEST_EXECUTIONS = "test_executions"
|
30
|
+
REGISTER_TEST_EXECUTIONS = "#{TEST_EXECUTIONS}/register"
|
31
|
+
START_TEST_EXECUTIONS = "#{TEST_EXECUTIONS}/start"
|
32
|
+
REPORT_TEST_EXECUTIONS = "#{TEST_EXECUTIONS}/report"
|
33
|
+
end
|
34
|
+
module ErrorCode
|
35
|
+
INVALID_INVITATION = 2
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
module License
|
40
|
+
FILE_NAME = "LICENSE.txt"
|
41
|
+
end
|
42
|
+
|
43
|
+
module Text
|
44
|
+
module Prompt
|
45
|
+
module Response
|
46
|
+
AGREE_TO_LICENSE = "I AGREE"
|
47
|
+
YES = "y"
|
48
|
+
end
|
49
|
+
SSH_KEY = "Enter your ssh key or press 'Return'. Using '%s' by default:"
|
50
|
+
TEST_PATTERN = "Enter a test pattern or press 'Return'. Using '%s' by default:"
|
51
|
+
SUITE_NAME = "Enter a suite name or press 'Return'. Using '%s' by default:"
|
52
|
+
LICENSE_AGREEMENT = "Type '%s' to accept the license and continue:" % Response::AGREE_TO_LICENSE
|
53
|
+
EMAIL = "Enter your email address:"
|
54
|
+
PASSWORD = "Enter a password: "
|
55
|
+
PASSWORD_CONFIRMATION = "Confirm your password: "
|
56
|
+
INVITATION_TOKEN = "Enter your invitation token:"
|
57
|
+
USE_EXISTING_SUITE = "The suite name '%s' already exists. Enter '#{Response::YES}' to use it, or enter a new name:"
|
58
|
+
end
|
59
|
+
|
60
|
+
module Process
|
61
|
+
TERMINATE_INSTRUCTION = "Ctrl-C to terminate the process"
|
62
|
+
INTERRUPT = "Interrupted"
|
63
|
+
STARTING_TEST = "Starting %s tests..."
|
64
|
+
CHECK_TEST_STATUS = "Use 'tddium status' to check on pending jobs"
|
65
|
+
FINISHED_TEST = "Finished in %s seconds"
|
66
|
+
CHECK_TEST_REPORT = "You can check out the test report details at %s"
|
67
|
+
UPDATE_SUITE = "The suite has been updated successfully"
|
68
|
+
PASSWORD_CONFIRMATION_INCORRECT = "Password confirmation incorrect"
|
69
|
+
ACCOUNT_CREATED = "
|
70
|
+
Congratulations %s, your tddium account has been created!
|
71
|
+
|
72
|
+
Next, you should:
|
73
|
+
|
74
|
+
1. Register your test suite by running:
|
75
|
+
tddium suite
|
76
|
+
|
77
|
+
2. Sign up for a billing plan by opening this URL in your browser:
|
78
|
+
%s
|
79
|
+
|
80
|
+
3. Start tests by running:
|
81
|
+
tddium spec
|
82
|
+
|
83
|
+
"
|
84
|
+
ALREADY_LOGGED_IN = "You're already logged in"
|
85
|
+
LOGGED_IN_SUCCESSFULLY = "Logged in successfully"
|
86
|
+
LOGGED_OUT_SUCCESSFULLY = "Logged out successfully"
|
87
|
+
end
|
88
|
+
|
89
|
+
module Status
|
90
|
+
NO_SUITE = "You currently do not have any suites"
|
91
|
+
ALL_SUITES = "Your suites: %s"
|
92
|
+
CURRENT_SUITE = "Your current suite: %s"
|
93
|
+
CURRENT_SUITE_UNAVAILABLE = "Your current suite is unavailable"
|
94
|
+
NO_ACTIVE_SESSION = "There are no active sessions"
|
95
|
+
ACTIVE_SESSIONS = "Your active sessions:"
|
96
|
+
NO_INACTIVE_SESSION = "There are no previous sessions"
|
97
|
+
INACTIVE_SESSIONS = "Your latest sessions:"
|
98
|
+
SESSION_TITLE = " Session %s:"
|
99
|
+
ATTRIBUTE_DETAIL = " %s: %s"
|
100
|
+
SEPARATOR = "====="
|
101
|
+
USING_SUITE = "Using suite: '%s' on branch: '%s'"
|
102
|
+
end
|
103
|
+
|
104
|
+
module Error
|
105
|
+
NOT_INITIALIZED = "tddium must be initialized. Try 'tddium login'"
|
106
|
+
INVALID_TDDIUM_FILE = ".tddium.%s config file is corrupt. Try 'tddium login'"
|
107
|
+
GIT_NOT_INITIALIZED = "git repo must be initialized. Try 'git init'"
|
108
|
+
NO_SUITE_EXISTS = "No suite exists for the branch '%s'. Try running 'tddium suite'"
|
109
|
+
INVALID_INVITATION = "
|
110
|
+
Your invitation token wasn't recognized. If you have a token, make sure you enter it correctly.
|
111
|
+
If you want an invite, visit this URL to sign up:
|
112
|
+
http://blog.tddium.com/home/
|
113
|
+
|
114
|
+
"
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
module DisplayedAttributes
|
119
|
+
SUITE = %w{repo_name branch test_pattern
|
120
|
+
ruby_version bundler_version rubygems_version
|
121
|
+
test_scripts test_executions git_repo_uri}
|
122
|
+
TEST_EXECUTION = %w{start_time end_time test_execution_stats report}
|
123
|
+
end
|
124
|
+
end
|