taps 0.2.5 → 0.2.6
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/VERSION.yml +1 -1
- data/lib/taps/client_session.rb +22 -10
- data/spec/client_session_spec.rb +6 -0
- metadata +6 -6
data/VERSION.yml
CHANGED
data/lib/taps/client_session.rb
CHANGED
@@ -53,6 +53,18 @@ class ClientSession
|
|
53
53
|
@session_resource.delete(:taps_version => Taps.version) if @session_resource
|
54
54
|
end
|
55
55
|
|
56
|
+
def safe_url(url)
|
57
|
+
url.sub(/\/\/(.+?)?:(.*?)@/, '//\1:[hidden]@')
|
58
|
+
end
|
59
|
+
|
60
|
+
def safe_remote_url
|
61
|
+
safe_url(remote_url)
|
62
|
+
end
|
63
|
+
|
64
|
+
def safe_database_url
|
65
|
+
safe_url(database_url)
|
66
|
+
end
|
67
|
+
|
56
68
|
def cmd_send
|
57
69
|
verify_server
|
58
70
|
cmd_send_schema
|
@@ -62,27 +74,27 @@ class ClientSession
|
|
62
74
|
end
|
63
75
|
|
64
76
|
def cmd_send_indexes
|
65
|
-
puts "Sending schema indexes to remote taps server #{
|
77
|
+
puts "Sending schema indexes to remote taps server #{safe_remote_url} from local database #{safe_database_url}"
|
66
78
|
|
67
79
|
index_data = `#{File.dirname(__FILE__)}/../../bin/schema indexes #{database_url}`
|
68
80
|
session_resource['indexes'].post(index_data, :taps_version => Taps.version)
|
69
81
|
end
|
70
82
|
|
71
83
|
def cmd_send_schema
|
72
|
-
puts "Sending schema to remote taps server #{
|
84
|
+
puts "Sending schema to remote taps server #{safe_remote_url} from local database #{safe_database_url}"
|
73
85
|
|
74
86
|
schema_data = `#{File.dirname(__FILE__)}/../../bin/schema dump #{database_url}`
|
75
87
|
session_resource['schema'].post(schema_data, :taps_version => Taps.version)
|
76
88
|
end
|
77
89
|
|
78
90
|
def cmd_send_reset_sequences
|
79
|
-
puts "Resetting db sequences in remote taps server at #{
|
91
|
+
puts "Resetting db sequences in remote taps server at #{safe_remote_url}"
|
80
92
|
|
81
93
|
session_resource["reset_sequences"].post('', :taps_version => Taps.version)
|
82
94
|
end
|
83
95
|
|
84
96
|
def cmd_send_data
|
85
|
-
puts "Sending schema and data from local database #{
|
97
|
+
puts "Sending schema and data from local database #{safe_database_url} to remote taps server at #{safe_remote_url}"
|
86
98
|
|
87
99
|
db.tables.each do |table_name|
|
88
100
|
table = db[table_name]
|
@@ -132,7 +144,7 @@ class ClientSession
|
|
132
144
|
end
|
133
145
|
|
134
146
|
def cmd_receive_data
|
135
|
-
puts "Receiving data from remote taps server #{
|
147
|
+
puts "Receiving data from remote taps server #{safe_remote_url} into local database #{safe_database_url}"
|
136
148
|
|
137
149
|
tables_with_counts, record_count = fetch_tables_info
|
138
150
|
|
@@ -199,7 +211,7 @@ class ClientSession
|
|
199
211
|
end
|
200
212
|
|
201
213
|
def cmd_receive_schema
|
202
|
-
puts "Receiving schema from remote taps server #{
|
214
|
+
puts "Receiving schema from remote taps server #{safe_remote_url} into local database #{safe_database_url}"
|
203
215
|
|
204
216
|
schema_data = session_resource['schema'].get(:taps_version => Taps.version)
|
205
217
|
output = Taps::Utils.load_schema(database_url, schema_data)
|
@@ -207,7 +219,7 @@ class ClientSession
|
|
207
219
|
end
|
208
220
|
|
209
221
|
def cmd_receive_indexes
|
210
|
-
puts "Receiving schema indexes from remote taps server #{
|
222
|
+
puts "Receiving schema indexes from remote taps server #{safe_remote_url} into local database #{safe_database_url}"
|
211
223
|
|
212
224
|
index_data = session_resource['indexes'].get(:taps_version => Taps.version)
|
213
225
|
|
@@ -216,7 +228,7 @@ class ClientSession
|
|
216
228
|
end
|
217
229
|
|
218
230
|
def cmd_reset_sequences
|
219
|
-
puts "Resetting db sequences in #{
|
231
|
+
puts "Resetting db sequences in #{safe_database_url}"
|
220
232
|
|
221
233
|
output = `#{File.dirname(__FILE__)}/../../bin/schema reset_db_sequences #{database_url}`
|
222
234
|
puts output if output
|
@@ -238,10 +250,10 @@ class ClientSession
|
|
238
250
|
raise
|
239
251
|
end
|
240
252
|
rescue RestClient::Unauthorized
|
241
|
-
puts "Bad credentials given for #{
|
253
|
+
puts "Bad credentials given for #{safe_remote_url}"
|
242
254
|
exit(1)
|
243
255
|
rescue Errno::ECONNREFUSED
|
244
|
-
puts "Can't connect to #{
|
256
|
+
puts "Can't connect to #{safe_remote_url}. Please check that it's running"
|
245
257
|
exit(1)
|
246
258
|
end
|
247
259
|
end
|
data/spec/client_session_spec.rb
CHANGED
@@ -78,5 +78,11 @@ describe Taps::ClientSession do
|
|
78
78
|
@response.stubs(:headers).returns({ :taps_checksum => Taps::Utils.checksum(@gzip_data) })
|
79
79
|
@client.fetch_table_rows('mytable', 1000, 0).should == [ 1000, { :header => [:x, :y], :data => [[1, 2], [3, 4]] } ]
|
80
80
|
end
|
81
|
+
|
82
|
+
it "hides the password in urls" do
|
83
|
+
@client.safe_url("postgres://postgres:password@localhost/mydb").should == "postgres://postgres:[hidden]@localhost/mydb"
|
84
|
+
@client.safe_url("postgres://postgres@localhost/mydb").should == "postgres://postgres@localhost/mydb"
|
85
|
+
@client.safe_url("http://x:y@localhost:5000").should == "http://x:[hidden]@localhost:5000"
|
86
|
+
end
|
81
87
|
end
|
82
88
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: taps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ricardo Chimal, Jr.
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-02-
|
13
|
+
date: 2009-02-26 00:00:00 -08:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -85,20 +85,20 @@ extra_rdoc_files: []
|
|
85
85
|
files:
|
86
86
|
- spec/base.rb
|
87
87
|
- spec/utils_spec.rb
|
88
|
-
- spec/client_session_spec.rb
|
89
88
|
- spec/server_spec.rb
|
90
89
|
- spec/schema_spec.rb
|
90
|
+
- spec/client_session_spec.rb
|
91
91
|
- lib/taps/db_session.rb
|
92
92
|
- lib/taps/progress_bar.rb
|
93
93
|
- lib/taps/cli.rb
|
94
|
-
- lib/taps/
|
94
|
+
- lib/taps/adapter_hacks.rb
|
95
95
|
- lib/taps/adapter_hacks/invalid_text_limit.rb
|
96
96
|
- lib/taps/adapter_hacks/non_rails_schema_dump.rb
|
97
97
|
- lib/taps/schema.rb
|
98
|
-
- lib/taps/adapter_hacks.rb
|
99
|
-
- lib/taps/config.rb
|
100
98
|
- lib/taps/server.rb
|
101
99
|
- lib/taps/utils.rb
|
100
|
+
- lib/taps/client_session.rb
|
101
|
+
- lib/taps/config.rb
|
102
102
|
- README.rdoc
|
103
103
|
- LICENSE
|
104
104
|
- VERSION.yml
|