mutx 0.1.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.
- checksums.yaml +7 -0
- data/.DS_Store +0 -0
- data/.gitignore +4 -0
- data/Gemfile +3 -0
- data/LICENSE.txt +22 -0
- data/README.md +259 -0
- data/Rakefile +1 -0
- data/bin/.DS_Store +0 -0
- data/bin/mutx +4 -0
- data/cron.rb +23 -0
- data/cron_alive.sh +9 -0
- data/cronned_task.rb +9 -0
- data/documentation/api.md +47 -0
- data/documentation/api_execution_data.md +56 -0
- data/documentation/configuration.md +13 -0
- data/documentation/custom_parameters.md +117 -0
- data/documentation/document_mutx.md +122 -0
- data/documentation/link.md +12 -0
- data/documentation/results.md +119 -0
- data/documentation/start.md +19 -0
- data/documentation/suites.md +60 -0
- data/documentation/test_suite_information.md +9 -0
- data/lib/.DS_Store +0 -0
- data/lib/generators/.DS_Store +0 -0
- data/lib/generators/task_rack.rb +185 -0
- data/lib/generators/templates/.DS_Store +0 -0
- data/lib/generators/templates/Gemfile.tt +2 -0
- data/lib/generators/templates/config.ru.tt +2 -0
- data/lib/generators/templates/mutx.conf.tt +53 -0
- data/lib/generators/templates/mutx.log.tt +0 -0
- data/lib/generators/templates/sidekiq.log.tt +0 -0
- data/lib/generators/templates/tasks.mutx.tt +10 -0
- data/lib/generators/templates/unicorn.rb.tt +21 -0
- data/lib/mutx.rb +86 -0
- data/mutx.gemspec +45 -0
- metadata +464 -0
@@ -0,0 +1,9 @@
|
|
1
|
+
How to provide information about a test task?
|
2
|
+
==============
|
3
|
+
|
4
|
+
You can provide some information about a test task by adding info value to each task you need
|
5
|
+
|
6
|
+
#cucumber.yml
|
7
|
+
regression: -t @regression info=[This is to execute a regression tests task]
|
8
|
+
|
9
|
+
This value `info=[Explaining text]` will show the icon <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> where you can mouse over and read the text
|
data/lib/.DS_Store
ADDED
Binary file
|
Binary file
|
@@ -0,0 +1,185 @@
|
|
1
|
+
module Mutx
|
2
|
+
class TaskRack < Thor::Group
|
3
|
+
|
4
|
+
include Thor::Actions
|
5
|
+
|
6
|
+
desc "Generates files needed by Mutx"
|
7
|
+
|
8
|
+
# ===============================
|
9
|
+
# Evaluates prerequisites
|
10
|
+
#
|
11
|
+
#
|
12
|
+
|
13
|
+
# def check_for_mongo_existance
|
14
|
+
# begin
|
15
|
+
# mongo = Mutx::Support::Console.execute "mongo --version"
|
16
|
+
# mongo_version = mongo.scan(/(\d+\.\d+\.\d+)/).flatten.first
|
17
|
+
# rescue
|
18
|
+
# raise "
|
19
|
+
# MONGODB NOT INSTALLED. INSTALL MONGODB BEFORE USING KAYA
|
20
|
+
# to install MongoDB go to: http://docs.mongodb.org/manual/installation/
|
21
|
+
# " if mongo_version.nil?
|
22
|
+
# end
|
23
|
+
# puts "MongoDB version installed => #{mongo_version} => OK"
|
24
|
+
# end
|
25
|
+
|
26
|
+
|
27
|
+
def check_redis_existance
|
28
|
+
redis = Mutx::Support::Console.execute "redis-server -v"
|
29
|
+
raise "
|
30
|
+
REDIS SERVER IS NOT INSTALLED ON YOUR SYSTEM.
|
31
|
+
INSTALL REDIS SERVER BEFORE USING KAYA
|
32
|
+
to install Redis go to:
|
33
|
+
" unless redis =~ /Redis server v=\d+\.\d+\.\d+/
|
34
|
+
end
|
35
|
+
|
36
|
+
|
37
|
+
def choose_working_branch
|
38
|
+
|
39
|
+
# Gets the list of branches
|
40
|
+
branch_list=Mutx::Support::Git.branch_list
|
41
|
+
branch_list << "local files"
|
42
|
+
=begin
|
43
|
+
begin
|
44
|
+
system "clear"
|
45
|
+
Mutx::Support::Logo.show
|
46
|
+
puts "
|
47
|
+
You have to choose one of the following branches to tell Mutx where to work with:"
|
48
|
+
# Print the options
|
49
|
+
branch_list.each_with_index do |branch_name, index|
|
50
|
+
puts "\t(#{index + 1}) - #{branch_name}"
|
51
|
+
end
|
52
|
+
print "\n\t Your option:"; option = STDIN.gets
|
53
|
+
|
54
|
+
#Converted to Fixnum
|
55
|
+
option = option.gsub!("\n","").to_i
|
56
|
+
|
57
|
+
end until (1..branch_list.size).include? option
|
58
|
+
=end
|
59
|
+
|
60
|
+
selected_branch_name = branch_list[9]#branch_list[option-1]
|
61
|
+
puts "
|
62
|
+
Lets work on '#{selected_branch_name}'
|
63
|
+
|
64
|
+
"
|
65
|
+
@local = selected_branch_name == "local files"
|
66
|
+
Mutx::Support::Git.checkout_to(selected_branch_name) unless selected_branch_name == "local files"
|
67
|
+
|
68
|
+
end
|
69
|
+
|
70
|
+
# ==============================
|
71
|
+
# Start install task
|
72
|
+
#
|
73
|
+
#
|
74
|
+
#
|
75
|
+
def self.source_root
|
76
|
+
File.dirname(__FILE__) + "/templates/"
|
77
|
+
end
|
78
|
+
|
79
|
+
def creates_mutx_folder
|
80
|
+
empty_directory "mutx"
|
81
|
+
end
|
82
|
+
|
83
|
+
def creates_mutx_temp_folder
|
84
|
+
empty_directory "mutx/temp"
|
85
|
+
end
|
86
|
+
|
87
|
+
def creates_mutx_out
|
88
|
+
empty_directory "mutx/out"
|
89
|
+
end
|
90
|
+
|
91
|
+
def creates_mutx_log_dir
|
92
|
+
empty_directory "mutx/logs"
|
93
|
+
end
|
94
|
+
|
95
|
+
def creates_mutx_pids_dir
|
96
|
+
empty_directory "mutx/pids"
|
97
|
+
end
|
98
|
+
|
99
|
+
def creates_mutx_conf_dir
|
100
|
+
empty_directory "mutx/conf"
|
101
|
+
end
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
def copy_server_file
|
106
|
+
unless File.exist? "#{Dir.pwd}/mutx/config.ru"
|
107
|
+
template "config.ru.tt", "#{Dir.pwd}/mutx/config.ru"
|
108
|
+
|
109
|
+
else
|
110
|
+
|
111
|
+
if yes?("\n It seems that you already have a config.ru file. DO YOU WANT TO REPLACE IT? (yes/no)", color = :green)
|
112
|
+
template "config.ru.tt", "#{Dir.pwd}/mutx/config.ru"
|
113
|
+
else
|
114
|
+
raise "The existing config.ru file must be replaced with config.ru file from Mutx"
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
|
120
|
+
def copy_mutx_conf
|
121
|
+
template "mutx.conf.tt", "#{Dir.pwd}/mutx/conf/mutx.conf" unless File.exist? "#{Dir.pwd}/mutx/conf/mutx.conf"
|
122
|
+
end
|
123
|
+
|
124
|
+
def updating_git_usage_as_false_if_local
|
125
|
+
if @local
|
126
|
+
config_file_content = JSON.parse(IO.read("#{Dir.pwd}/mutx/conf/mutx.conf"))
|
127
|
+
config_file_content["use_git"] = false
|
128
|
+
content_to_save = config_file_content.to_json.gsub(",",",\n").gsub("{","{\n")
|
129
|
+
IO.write("#{Dir.pwd}/mutx/conf/mutx.conf",content_to_save)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
def copy_mutx_log_file
|
134
|
+
template "mutx.log.tt", "#{Dir.pwd}/mutx/logs/mutx.log" unless File.exist? "#{Dir.pwd}/mutx/logs/mutx.log"
|
135
|
+
end
|
136
|
+
|
137
|
+
def copy_sidekiq_log_file
|
138
|
+
template "sidekiq.log.tt", "#{Dir.pwd}/mutx/logs/sidekiq.log" unless File.exist? "#{Dir.pwd}/mutx/logs/sidekiq.log"
|
139
|
+
end
|
140
|
+
|
141
|
+
def copy_unicorn_config_file
|
142
|
+
unless File.exist? "#{Dir.pwd}/mutx/unicorn.rb"
|
143
|
+
template "unicorn.rb.tt", "#{Dir.pwd}/mutx/unicorn.rb"
|
144
|
+
@unicorn_created = true
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
def update_gitignore
|
149
|
+
path = "#{Dir.pwd}/.gitignore"
|
150
|
+
if File.exist? path
|
151
|
+
f = File.open(path, "a+")
|
152
|
+
content = ""
|
153
|
+
f.each_line{|line| content += line}
|
154
|
+
f.write "\n" unless content[-1] == "\n"
|
155
|
+
f.write "mutx/\n" unless content.include? "mutx/"
|
156
|
+
f.write "mutx/*\n" unless content.include? "mutx/*"
|
157
|
+
|
158
|
+
|
159
|
+
f.close
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
def update_gemfile
|
164
|
+
path = "#{Dir.pwd}/Gemfile"
|
165
|
+
if File.exist? path
|
166
|
+
f = File.open(path, "a+")
|
167
|
+
content = ""
|
168
|
+
f.each_line{|line| content += line}
|
169
|
+
f.write "\n" unless content[-1] == "\n"
|
170
|
+
["gem 'mutx'"].each do |file_name|
|
171
|
+
f.write "#{file_name}\n" unless content.include? "#{file_name}"
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
end
|
176
|
+
|
177
|
+
def push_changes
|
178
|
+
unless @local
|
179
|
+
Mutx::Support::Git.git_add_commit "Mutx: Commit after install command execution"
|
180
|
+
Mutx::Support::Git.git_push_origin_to_actual_branch
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
end
|
185
|
+
end
|
Binary file
|
@@ -0,0 +1,53 @@
|
|
1
|
+
{
|
2
|
+
|
3
|
+
"use_git" : true,
|
4
|
+
|
5
|
+
"app_name" : "your-host-name",
|
6
|
+
|
7
|
+
"app_port" : 8080,
|
8
|
+
|
9
|
+
"database" : {
|
10
|
+
|
11
|
+
"type" : "mongodb",
|
12
|
+
"host" :"localhost",
|
13
|
+
"port" : 27017,
|
14
|
+
"username" : null,
|
15
|
+
"password" : null},
|
16
|
+
|
17
|
+
"max_execs_per_task" : 3,
|
18
|
+
|
19
|
+
"execution_check_time" : 5,
|
20
|
+
|
21
|
+
"project_name" : "Mutx",
|
22
|
+
|
23
|
+
"project_url" : "http://your.project.url",
|
24
|
+
|
25
|
+
"inactivity_timeout" : 60,
|
26
|
+
|
27
|
+
"kill_inactive_executions_after" : 300,
|
28
|
+
|
29
|
+
"datetime_format" : "%d/%m/%Y %H:%M:%S",
|
30
|
+
|
31
|
+
"refresh_time" : 10,
|
32
|
+
|
33
|
+
"notification" : {
|
34
|
+
"use_gmail" : false,
|
35
|
+
"username" : null,
|
36
|
+
"password" : null,
|
37
|
+
"recipients" : "your@email.com",
|
38
|
+
"attach_report" : false
|
39
|
+
},
|
40
|
+
|
41
|
+
"footer_text" : "The text to display on footer",
|
42
|
+
|
43
|
+
"execution_tag_placeholder" : {
|
44
|
+
"datetime" : true,
|
45
|
+
"format" : "%d%^b%y-%H%M",
|
46
|
+
"default" : null
|
47
|
+
},
|
48
|
+
|
49
|
+
"headless" : {
|
50
|
+
"active" : false,
|
51
|
+
"resolution" : "1024x768",
|
52
|
+
"size":"24"}
|
53
|
+
}
|
File without changes
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
|
2
|
+
|
3
|
+
timeout 600
|
4
|
+
|
5
|
+
preload_app true
|
6
|
+
|
7
|
+
before_fork do |server, worker|
|
8
|
+
Signal.trap 'TERM' do
|
9
|
+
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
|
10
|
+
Process.kill 'QUIT', Process.pid
|
11
|
+
end
|
12
|
+
|
13
|
+
defined?(ActiveRecord::Base) and
|
14
|
+
ActiveRecord::Base.connection.disconnect!
|
15
|
+
end
|
16
|
+
|
17
|
+
after_fork do |server, worker|
|
18
|
+
Signal.trap 'TERM' do
|
19
|
+
puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
|
20
|
+
end
|
21
|
+
end
|
data/lib/mutx.rb
ADDED
@@ -0,0 +1,86 @@
|
|
1
|
+
require "mutx/version"
|
2
|
+
require "thor"
|
3
|
+
require 'json'
|
4
|
+
require 'colorize'
|
5
|
+
require 'github/markup'
|
6
|
+
require 'redis'
|
7
|
+
require 'sidekiq'
|
8
|
+
require 'mote'
|
9
|
+
require 'base64'
|
10
|
+
require 'require_all'
|
11
|
+
require 'byebug'
|
12
|
+
require 'digest'
|
13
|
+
|
14
|
+
require_rel 'mutx'
|
15
|
+
require_rel 'generators'
|
16
|
+
|
17
|
+
|
18
|
+
module Mutx
|
19
|
+
|
20
|
+
|
21
|
+
# if Dir.exist? "#{Dir.pwd}/mutx/logs"
|
22
|
+
|
23
|
+
# # Creates mutx_log if it does not exist
|
24
|
+
# File.open("#{Dir.pwd}/mutx/logs/mutx.log","a+"){} unless File.exist? "#{Dir.pwd}/mutx/logs/mutx.log"
|
25
|
+
|
26
|
+
# # Set global conf
|
27
|
+
# #Mutx::Support::Log.start
|
28
|
+
# Mutx::Support::Configuration.get
|
29
|
+
# $NOTIF ||= Support::Notification.new("#{Dir.pwd.split("/").last}", "#{Mutx::Support::IfConfig.ip}:#{Mutx::Support::Configuration.port}")
|
30
|
+
|
31
|
+
# end
|
32
|
+
|
33
|
+
|
34
|
+
class Base < Thor
|
35
|
+
|
36
|
+
desc "help","If you cannot start mutx"
|
37
|
+
def help
|
38
|
+
Mutx::Commands.help
|
39
|
+
end
|
40
|
+
|
41
|
+
desc "install","Install Mutx on your project"
|
42
|
+
def install
|
43
|
+
Mutx::Commands.install
|
44
|
+
end
|
45
|
+
|
46
|
+
desc "start", "Starts a service waiting for get requests to run tasks you've defined"
|
47
|
+
option :nodemon, :required =>false, :type => :boolean, :desc => "Add this flag to no demon use."
|
48
|
+
def start
|
49
|
+
if Dir.exist? "#{Dir.pwd}/mutx"
|
50
|
+
Mutx::Support::Log.start
|
51
|
+
Mutx::Commands.start(options["nodemon"])
|
52
|
+
else
|
53
|
+
puts "Could not find mutx folder on root project folder. You can use `mutx install`".red
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
desc "stop", "Stop mutx service"
|
58
|
+
def stop
|
59
|
+
Mutx::Commands.stop
|
60
|
+
end
|
61
|
+
|
62
|
+
desc "restart", "Restart Mutx"
|
63
|
+
def restart
|
64
|
+
Mutx::Commands.restart
|
65
|
+
end
|
66
|
+
|
67
|
+
desc "reset","Purges all db registers"
|
68
|
+
def reset
|
69
|
+
if yes? "Are you sure to reset all register? (yes/no)"
|
70
|
+
Mutx::Commands.reset
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
desc "reset_tasks","Reset all tasks registers. This command is to purge all tasks from db"
|
75
|
+
def reset_tasks
|
76
|
+
Mutx::Commands.reset_tasks
|
77
|
+
end
|
78
|
+
|
79
|
+
desc "Say bye to mutx", ""
|
80
|
+
def bye
|
81
|
+
if yes? "Are you sure to say bye to Mutx? (yes/no)"
|
82
|
+
Mutx::Commands.bye
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
data/mutx.gemspec
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'mutx/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "mutx"
|
8
|
+
spec.version = Mutx::VERSION
|
9
|
+
spec.authors = ["Roman Rodriguez"]
|
10
|
+
spec.email = ["roman.g.rodriguez@gmail.com"]
|
11
|
+
spec.summary = %q{Mutx lets you expose executions easily}
|
12
|
+
spec.description = %q{Exposes executions easily}
|
13
|
+
spec.homepage = "https://github.com/romgrod/mutx"
|
14
|
+
spec.license = "MIT"
|
15
|
+
spec.required_ruby_version = ">= 2.0.0"
|
16
|
+
|
17
|
+
spec.files = `git ls-files -z`.split("\x0")
|
18
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
19
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
|
+
spec.require_paths = ["lib"]
|
21
|
+
|
22
|
+
spec.add_dependency 'thor'
|
23
|
+
spec.add_dependency 'cuba'
|
24
|
+
spec.add_dependency 'unicorn'
|
25
|
+
spec.add_dependency 'mongo', '2.2.4'
|
26
|
+
spec.add_dependency 'redis'
|
27
|
+
spec.add_dependency 'sidekiq'
|
28
|
+
spec.add_dependency 'bson_ext'
|
29
|
+
spec.add_dependency 'colorize'
|
30
|
+
spec.add_dependency 'github-markup'
|
31
|
+
spec.add_dependency 'redcarpet'
|
32
|
+
spec.add_dependency 'gmail'
|
33
|
+
spec.add_dependency 'mote'
|
34
|
+
spec.add_dependency 'require_all'
|
35
|
+
spec.add_dependency 'byebug'
|
36
|
+
spec.add_dependency 'shotgun'
|
37
|
+
spec.add_dependency 'digest'
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
spec.add_development_dependency "bundler", "~> 1.5"
|
43
|
+
spec.add_development_dependency "rake"
|
44
|
+
spec.add_development_dependency "cucumber"
|
45
|
+
end
|
metadata
ADDED
@@ -0,0 +1,464 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: mutx
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Roman Rodriguez
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-08-03 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: thor
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: cuba
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: unicorn
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: mongo
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.2.4
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 2.2.4
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: redis
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: sidekiq
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: bson_ext
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: colorize
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: github-markup
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: redcarpet
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: gmail
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: mote
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :runtime
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: require_all
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :runtime
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: byebug
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: shotgun
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :runtime
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: digest
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: bundler
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - "~>"
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '1.5'
|
244
|
+
type: :development
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - "~>"
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '1.5'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: rake
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :development
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: cucumber
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ">="
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ">="
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
description: Exposes executions easily
|
280
|
+
email:
|
281
|
+
- roman.g.rodriguez@gmail.com
|
282
|
+
executables:
|
283
|
+
- ".DS_Store"
|
284
|
+
- mutx
|
285
|
+
extensions: []
|
286
|
+
extra_rdoc_files: []
|
287
|
+
files:
|
288
|
+
- ".DS_Store"
|
289
|
+
- ".gitignore"
|
290
|
+
- Gemfile
|
291
|
+
- LICENSE.txt
|
292
|
+
- README.md
|
293
|
+
- Rakefile
|
294
|
+
- bin/.DS_Store
|
295
|
+
- bin/mutx
|
296
|
+
- cron.rb
|
297
|
+
- cron_alive.sh
|
298
|
+
- cronned_task.rb
|
299
|
+
- documentation/api.md
|
300
|
+
- documentation/api_execution_data.md
|
301
|
+
- documentation/configuration.md
|
302
|
+
- documentation/custom_parameters.md
|
303
|
+
- documentation/document_mutx.md
|
304
|
+
- documentation/link.md
|
305
|
+
- documentation/results.md
|
306
|
+
- documentation/start.md
|
307
|
+
- documentation/suites.md
|
308
|
+
- documentation/test_suite_information.md
|
309
|
+
- lib/.DS_Store
|
310
|
+
- lib/generators/.DS_Store
|
311
|
+
- lib/generators/task_rack.rb
|
312
|
+
- lib/generators/templates/.DS_Store
|
313
|
+
- lib/generators/templates/Gemfile.tt
|
314
|
+
- lib/generators/templates/config.ru.tt
|
315
|
+
- lib/generators/templates/mutx.conf.tt
|
316
|
+
- lib/generators/templates/mutx.log.tt
|
317
|
+
- lib/generators/templates/sidekiq.log.tt
|
318
|
+
- lib/generators/templates/tasks.mutx.tt
|
319
|
+
- lib/generators/templates/unicorn.rb.tt
|
320
|
+
- lib/mutx.rb
|
321
|
+
- lib/mutx/.DS_Store
|
322
|
+
- lib/mutx/API/custom_params.rb
|
323
|
+
- lib/mutx/API/error.rb
|
324
|
+
- lib/mutx/API/execution.rb
|
325
|
+
- lib/mutx/API/path.rb
|
326
|
+
- lib/mutx/API/result.rb
|
327
|
+
- lib/mutx/API/results.rb
|
328
|
+
- lib/mutx/API/task.rb
|
329
|
+
- lib/mutx/API/tasks.rb
|
330
|
+
- lib/mutx/background_jobs/.DS_Store
|
331
|
+
- lib/mutx/background_jobs/sidekiq.rb
|
332
|
+
- lib/mutx/background_jobs/workers/.DS_Store
|
333
|
+
- lib/mutx/background_jobs/workers/email_sender.rb
|
334
|
+
- lib/mutx/background_jobs/workers/executor.rb
|
335
|
+
- lib/mutx/background_jobs/workers/garbage_cleaner.rb
|
336
|
+
- lib/mutx/background_jobs/workers/listener.rb
|
337
|
+
- lib/mutx/commands/.DS_Store
|
338
|
+
- lib/mutx/commands/bye.rb
|
339
|
+
- lib/mutx/commands/help.rb
|
340
|
+
- lib/mutx/commands/install.rb
|
341
|
+
- lib/mutx/commands/reset.rb
|
342
|
+
- lib/mutx/commands/reset_tasks.rb
|
343
|
+
- lib/mutx/commands/restart.rb
|
344
|
+
- lib/mutx/commands/start.rb
|
345
|
+
- lib/mutx/commands/stop.rb
|
346
|
+
- lib/mutx/cucumber/features.rb
|
347
|
+
- lib/mutx/cucumber/scenario.rb
|
348
|
+
- lib/mutx/custom/execution.rb
|
349
|
+
- lib/mutx/custom/params.rb
|
350
|
+
- lib/mutx/database/.DS_Store
|
351
|
+
- lib/mutx/database/mongo_connector.rb
|
352
|
+
- lib/mutx/error/errors.rb
|
353
|
+
- lib/mutx/execution.rb
|
354
|
+
- lib/mutx/platforms/ruby.rb
|
355
|
+
- lib/mutx/results/result.rb
|
356
|
+
- lib/mutx/results/results.rb
|
357
|
+
- lib/mutx/routes.rb
|
358
|
+
- lib/mutx/support/change_inspector.rb
|
359
|
+
- lib/mutx/support/clean.rb
|
360
|
+
- lib/mutx/support/configuration.rb
|
361
|
+
- lib/mutx/support/console.rb
|
362
|
+
- lib/mutx/support/documentation.rb
|
363
|
+
- lib/mutx/support/error_handler_helper.rb
|
364
|
+
- lib/mutx/support/files_cleanner.rb
|
365
|
+
- lib/mutx/support/git.rb
|
366
|
+
- lib/mutx/support/if_config.rb
|
367
|
+
- lib/mutx/support/log.rb
|
368
|
+
- lib/mutx/support/logo.rb
|
369
|
+
- lib/mutx/support/logs.rb
|
370
|
+
- lib/mutx/support/notification.rb
|
371
|
+
- lib/mutx/support/processes.rb
|
372
|
+
- lib/mutx/support/query_string.rb
|
373
|
+
- lib/mutx/support/request.rb
|
374
|
+
- lib/mutx/support/risk.rb
|
375
|
+
- lib/mutx/support/time_helper.rb
|
376
|
+
- lib/mutx/support/update.rb
|
377
|
+
- lib/mutx/tasks/.DS_Store
|
378
|
+
- lib/mutx/tasks/custom/.DS_Store
|
379
|
+
- lib/mutx/tasks/custom/param.rb
|
380
|
+
- lib/mutx/tasks/custom/params.rb
|
381
|
+
- lib/mutx/tasks/custom/params_old.rb
|
382
|
+
- lib/mutx/tasks/task.rb
|
383
|
+
- lib/mutx/tasks/tasks.rb
|
384
|
+
- lib/mutx/version.rb
|
385
|
+
- lib/mutx/view/.DS_Store
|
386
|
+
- lib/mutx/view/body.mote
|
387
|
+
- lib/mutx/view/custom/params.mote
|
388
|
+
- lib/mutx/view/custom/params/create_edit_form.mote
|
389
|
+
- lib/mutx/view/custom/params/custom_param_selection_box.mote
|
390
|
+
- lib/mutx/view/custom/params/custom_param_task_deleting_box.mote
|
391
|
+
- lib/mutx/view/custom/params/delete.mote
|
392
|
+
- lib/mutx/view/custom/params/delete_form.mote
|
393
|
+
- lib/mutx/view/custom/params/edit.mote
|
394
|
+
- lib/mutx/view/custom/params/json.mote
|
395
|
+
- lib/mutx/view/custom/params/list.mote
|
396
|
+
- lib/mutx/view/custom/params/new.mote
|
397
|
+
- lib/mutx/view/custom/params/select_list.mote
|
398
|
+
- lib/mutx/view/custom/params/text.mote
|
399
|
+
- lib/mutx/view/error_handler.mote
|
400
|
+
- lib/mutx/view/features.mote
|
401
|
+
- lib/mutx/view/features/feature.mote
|
402
|
+
- lib/mutx/view/features/features_list.mote
|
403
|
+
- lib/mutx/view/footer.mote
|
404
|
+
- lib/mutx/view/git_information.mote
|
405
|
+
- lib/mutx/view/help.mote
|
406
|
+
- lib/mutx/view/help/main.mote
|
407
|
+
- lib/mutx/view/help/page.mote
|
408
|
+
- lib/mutx/view/help/search_result.mote
|
409
|
+
- lib/mutx/view/javascript.mote
|
410
|
+
- lib/mutx/view/logs/log.mote
|
411
|
+
- lib/mutx/view/logs/logs.mote
|
412
|
+
- lib/mutx/view/modals.mote
|
413
|
+
- lib/mutx/view/navigation_bar.mote
|
414
|
+
- lib/mutx/view/not_found.mote
|
415
|
+
- lib/mutx/view/parser.rb
|
416
|
+
- lib/mutx/view/results/all.mote
|
417
|
+
- lib/mutx/view/results/console.mote
|
418
|
+
- lib/mutx/view/results/detailed_info.mote
|
419
|
+
- lib/mutx/view/results/report.mote
|
420
|
+
- lib/mutx/view/results/result.mote
|
421
|
+
- lib/mutx/view/results/results.mote
|
422
|
+
- lib/mutx/view/screenshot.mote
|
423
|
+
- lib/mutx/view/sections.rb
|
424
|
+
- lib/mutx/view/styles.mote
|
425
|
+
- lib/mutx/view/tasks/.DS_Store
|
426
|
+
- lib/mutx/view/tasks/admin/.DS_Store
|
427
|
+
- lib/mutx/view/tasks/admin/create_edit_form.mote
|
428
|
+
- lib/mutx/view/tasks/admin/delete.mote
|
429
|
+
- lib/mutx/view/tasks/admin/delete_form.mote
|
430
|
+
- lib/mutx/view/tasks/admin/edit.mote
|
431
|
+
- lib/mutx/view/tasks/admin/list.mote
|
432
|
+
- lib/mutx/view/tasks/admin/new.mote
|
433
|
+
- lib/mutx/view/tasks/admin/view.mote
|
434
|
+
- lib/mutx/view/tasks/message.mote
|
435
|
+
- lib/mutx/view/tasks/task.mote
|
436
|
+
- lib/mutx/view/tasks/task_item.mote
|
437
|
+
- lib/mutx/view/tasks/tasks.mote
|
438
|
+
- lib/mutx/view/view.rb
|
439
|
+
- mutx.gemspec
|
440
|
+
homepage: https://github.com/romgrod/mutx
|
441
|
+
licenses:
|
442
|
+
- MIT
|
443
|
+
metadata: {}
|
444
|
+
post_install_message:
|
445
|
+
rdoc_options: []
|
446
|
+
require_paths:
|
447
|
+
- lib
|
448
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
449
|
+
requirements:
|
450
|
+
- - ">="
|
451
|
+
- !ruby/object:Gem::Version
|
452
|
+
version: 2.0.0
|
453
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
454
|
+
requirements:
|
455
|
+
- - ">="
|
456
|
+
- !ruby/object:Gem::Version
|
457
|
+
version: '0'
|
458
|
+
requirements: []
|
459
|
+
rubyforge_project:
|
460
|
+
rubygems_version: 2.4.6
|
461
|
+
signing_key:
|
462
|
+
specification_version: 4
|
463
|
+
summary: Mutx lets you expose executions easily
|
464
|
+
test_files: []
|