td 0.16.10 → 0.17.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a372eaff21645cac711c4df4fe0faeba64a8fffed0af8d9de4367f5bdf3d4dae
4
- data.tar.gz: b4f0c3751f57780008be2162c78853003b138d9ed691f1c7eef756a8ce6f7237
3
+ metadata.gz: 7ed6a6e5934d927122c94bd28a5e356e6d422cacf182e97b30d83b9d453c1a29
4
+ data.tar.gz: eab2f179e910311ac9e0e45325cb366fadfb053268c7707cf4336b8f91e8150d
5
5
  SHA512:
6
- metadata.gz: 3f332bc9d0cc8659e31d2f737aec26c827a6eda4c980dd0d21ddf0df749fae5595b16950a9ba3195e76361925d190bf8aa5e016dee6f25cf49bdf139e8606363
7
- data.tar.gz: af1d0421633676a8938be8cf77474681f05e863006c56561db18b377853ee9f8529c168d1d176a2e4f3156a1eb4acd582241765f52a8aac6ecce0e3e158e1ddf
6
+ metadata.gz: 74843a395778c6fba9bf45d625ecdccbdaf956a7dabc08f4fe0fc1832e567fef60b6600c38aefcffddbd619cddaeb05a45ad71d457df9c31c02ee95ffa934fd5
7
+ data.tar.gz: 0f629764b2006b045235c7e836c0f51edceaa620679833182aba1ce2ce1538e27c6bae28804e913e51f805f1e535f27e6bb5e2eb24a2aade58dc450ad67b011b
data/.circleci/config.yml CHANGED
@@ -2,8 +2,8 @@ version: 2.1
2
2
 
3
3
 
4
4
  orbs:
5
- ruby: circleci/ruby@1.1.4
6
- win: circleci/windows@2.4.0
5
+ ruby: circleci/ruby@2.0.0
6
+ win: circleci/windows@5.0.0
7
7
 
8
8
 
9
9
  commands:
@@ -12,7 +12,7 @@ commands:
12
12
  steps:
13
13
  - run:
14
14
  name: "Install MSYS2"
15
- command: choco install msys2
15
+ command: choco install msys2 -y
16
16
  - run:
17
17
  name: "Install Ruby devkit"
18
18
  command: ridk install 2 3
@@ -21,7 +21,7 @@ commands:
21
21
  steps:
22
22
  - run:
23
23
  name: Which bundler?
24
- command: bundle -v
24
+ command: ruby -v; bundle -v
25
25
  - run:
26
26
  name: Bundle install
27
27
  command: bundle install
@@ -41,36 +41,28 @@ commands:
41
41
 
42
42
  jobs:
43
43
 
44
- ruby_25:
45
- machine:
46
- image: ubuntu-1604:202004-01
44
+ ruby_27:
45
+ docker:
46
+ - image: cimg/ruby:2.7-browsers
47
47
  steps:
48
- - ruby/install:
49
- version: '2.5'
50
48
  - run-tests-flow
51
49
 
52
- ruby_26:
53
- machine:
54
- image: ubuntu-1604:202004-01
50
+ ruby_30:
51
+ docker:
52
+ - image: cimg/ruby:3.0-browsers
55
53
  steps:
56
- - ruby/install:
57
- version: '2.6'
58
54
  - run-tests-flow
59
55
 
60
- ruby_27:
61
- machine:
62
- image: ubuntu-1604:202004-01
56
+ ruby_31:
57
+ docker:
58
+ - image: cimg/ruby:3.1-browsers
63
59
  steps:
64
- - ruby/install:
65
- version: '2.7'
66
60
  - run-tests-flow
67
61
 
68
- ruby_30:
69
- machine:
70
- image: ubuntu-1604:202004-01
62
+ ruby_32:
63
+ docker:
64
+ - image: cimg/ruby:3.2-browsers
71
65
  steps:
72
- - ruby/install:
73
- version: '3.0'
74
66
  - run-tests-flow
75
67
 
76
68
  win_ruby:
@@ -89,8 +81,8 @@ jobs:
89
81
  workflows:
90
82
  tests:
91
83
  jobs:
92
- - ruby_25
93
- - ruby_26
94
84
  - ruby_27
95
85
  - ruby_30
96
- # - win_ruby # Not testing on windows for now due to old version of ridk. Testing in Appveyor instead, will reconsider when CircleCI update ridk in their windows image.
86
+ - ruby_31
87
+ - ruby_32
88
+ - win_ruby
@@ -0,0 +1,72 @@
1
+ # For most projects, this workflow file will not need changing; you simply need
2
+ # to commit it to your repository.
3
+ #
4
+ # You may wish to alter this file to override the set of languages analyzed,
5
+ # or to provide custom queries or build logic.
6
+ #
7
+ # ******** NOTE ********
8
+ # We have attempted to detect the languages in your repository. Please check
9
+ # the `language` matrix defined below to confirm you have the correct set of
10
+ # supported CodeQL languages.
11
+ #
12
+ name: "CodeQL"
13
+
14
+ on:
15
+ push:
16
+ branches: [ master ]
17
+ pull_request:
18
+ # The branches below must be a subset of the branches above
19
+ branches: [ master ]
20
+ schedule:
21
+ - cron: '29 4 * * 5'
22
+
23
+ jobs:
24
+ analyze:
25
+ name: Analyze
26
+ runs-on: ubuntu-latest
27
+ permissions:
28
+ actions: read
29
+ contents: read
30
+ security-events: write
31
+
32
+ strategy:
33
+ fail-fast: false
34
+ matrix:
35
+ language: [ 'ruby' ]
36
+ # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
37
+ # Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
38
+
39
+ steps:
40
+ - name: Checkout repository
41
+ uses: actions/checkout@v3
42
+
43
+ # Initializes the CodeQL tools for scanning.
44
+ - name: Initialize CodeQL
45
+ uses: github/codeql-action/init@v2
46
+ with:
47
+ languages: ${{ matrix.language }}
48
+ # If you wish to specify custom queries, you can do so here or in a config file.
49
+ # By default, queries listed here will override any specified in a config file.
50
+ # Prefix the list here with "+" to use these queries and those in the config file.
51
+
52
+ # Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
53
+ # queries: security-extended,security-and-quality
54
+
55
+
56
+ # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
57
+ # If this step fails, then you should remove it and run the build manually (see below)
58
+ - name: Autobuild
59
+ uses: github/codeql-action/autobuild@v2
60
+
61
+ # ℹ️ Command-line programs to run using the OS shell.
62
+ # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
63
+
64
+ # If the Autobuild fails above, remove it and uncomment the following three lines.
65
+ # modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
66
+
67
+ # - run: |
68
+ # echo "Run, Build Application using script"
69
+ # ./location_of_script_within_repo/buildscript.sh
70
+
71
+ - name: Perform CodeQL Analysis
72
+ uses: github/codeql-action/analyze@v2
data/.gitignore CHANGED
@@ -1,9 +1,11 @@
1
1
  .bundle
2
2
  .DS_Store
3
+ bundler
3
4
  build/td-import-java
4
5
  Gemfile.lock
5
6
  vendor/*
6
7
  /pkg/
7
8
  build/*
8
9
  coverage/
10
+ dist/resources/pkg/ruby*.pkg
9
11
  *~
data/ChangeLog CHANGED
@@ -1,3 +1,12 @@
1
+ == 2023-03-18 version 0.17.1
2
+
3
+ * Fix account command error on windows (for Ruby 3) #262
4
+
5
+ == 2023-03-28 version 0.17.0
6
+
7
+ * Show job's start & end time for td job:show [job_id] #253
8
+ * Support Ruby 3.2 by updating deprecated File.exists? to File.exist? #260
9
+
1
10
  == 2020-09-16 version 0.16.10
2
11
 
3
12
  * Support proxy with username and password
data/Rakefile CHANGED
@@ -50,9 +50,12 @@ def install_use_gems(target_dir)
50
50
  puts "Copy local gem #{ENV['TD_TOOLBELT_LOCAL_CLIENT_GEM']} to #{Dir.pwd}"
51
51
  FileUtils.cp File.expand_path(ENV['TD_TOOLBELT_LOCAL_CLIENT_GEM']), Dir.pwd
52
52
  end
53
- Gem::GemRunner.new.run ["install", gem, "--no-rdoc", "--no-ri"]
53
+ Gem::GemRunner.new.run ["install", gem, "--no-document"] # Use one of two commands bellow. Gem::GemRunner on ruby 3.0.5 has some weird bug
54
+ # sh "gem install \"#{gem}" --no-document"
55
+ # sh "/usr/local/td/ruby/bin/gem install \"#{gem}\" --no-document" # On OSX
54
56
  rescue Gem::SystemExitException => e
55
57
  unless e.exit_code.zero?
58
+ puts e, e.backtrace.join("\n")
56
59
  raise e
57
60
  end
58
61
  end
@@ -113,12 +113,16 @@ module Command
113
113
 
114
114
  private
115
115
  if Helpers.on_windows?
116
- require 'Win32API'
116
+ require 'fiddle'
117
117
 
118
118
  def get_char
119
- Win32API.new('msvcrt', '_getch', [], 'L').Call
119
+ msvcrt = Fiddle.dlopen('msvcrt')
120
+ getch = Fiddle::Function.new(msvcrt['_getch'], [], Fiddle::TYPE_CHAR)
121
+ getch.call()
120
122
  rescue Exception
121
- Win32API.new('crtdll', '_getch', [], 'L').Call
123
+ crtdll = Fiddle.dlopen('crtdll')
124
+ getch = Fiddle::Function.new(crtdll['_getch'], [], Fiddle::TYPE_CHAR)
125
+ getch.call()
122
126
  end
123
127
 
124
128
  def get_password
@@ -173,6 +173,8 @@ private
173
173
  $stdout.puts "Status : #{job.status}"
174
174
  $stdout.puts "Type : #{job.type}"
175
175
  $stdout.puts "Database : #{job.db_name}"
176
+ $stdout.puts "Start At : #{job.start_at}"
177
+ $stdout.puts "End At : #{job.end_at}"
176
178
  # exclude some fields from bulk_import_perform type jobs
177
179
  if [:hive, :pig, :impala, :presto].include?(job.type)
178
180
  $stdout.puts "Priority : #{job_priority_name_of(job.priority)}"
@@ -404,7 +406,7 @@ private
404
406
  raise "Unknown format #{format.inspect}"
405
407
  end
406
408
 
407
- if tempfile && File.exists?(tempfile)
409
+ if tempfile && File.exist?(tempfile)
408
410
  FileUtils.mv(tempfile, output.respond_to?(:path) ? output.path : output)
409
411
  end
410
412
  end
@@ -96,7 +96,7 @@ module TreasureData
96
96
  def workflow_version(op)
97
97
  op.cmd_parse # to show help
98
98
 
99
- unless File.exists?(digdag_cli_path)
99
+ unless File.exist?(digdag_cli_path)
100
100
  $stderr.puts('Workflow module not yet installed.')
101
101
  return 1
102
102
  end
@@ -246,7 +246,7 @@ EOF
246
246
  return false
247
247
  end
248
248
  if output =~ /openjdk version/ or output =~ /java version/
249
- m = output.match(/version "(\d+)\.(\d+)\.(\d+)(?:_(\d+))?"/)
249
+ m = output.match(/version "(\d+)\.(\d+)\.(\d+)(\.\d+)?(?:_(\d+))?"/)
250
250
  if not m or m.size < 4
251
251
  return false
252
252
  end
@@ -309,7 +309,7 @@ EOF
309
309
 
310
310
  private
311
311
  def download_java
312
- if File.exists?(digdag_jre_dir)
312
+ if File.exist?(digdag_jre_dir)
313
313
  return
314
314
  end
315
315
 
@@ -427,7 +427,7 @@ EOF
427
427
  def check_digdag_cli
428
428
  check_system_java unless bundled_java?
429
429
 
430
- unless File.exists?(digdag_cli_path)
430
+ unless File.exist?(digdag_cli_path)
431
431
  $stderr.puts 'Workflow module not yet installed, download now? [Y/n]'
432
432
  line = $stdin.gets
433
433
  line.strip!
data/lib/td/helpers.rb CHANGED
@@ -11,7 +11,7 @@ module TreasureData
11
11
  end
12
12
 
13
13
  def on_windows?
14
- RUBY_PLATFORM =~ /mswin32|mingw32/
14
+ RUBY_PLATFORM =~ /mswin32|mingw32|mingw-ucrt/
15
15
  end
16
16
 
17
17
  def on_mac?
data/lib/td/updater.rb CHANGED
@@ -21,7 +21,7 @@ module ModuleDefinition
21
21
  end
22
22
 
23
23
  def on_windows?
24
- RUBY_PLATFORM =~ /mswin32|mingw32/
24
+ RUBY_PLATFORM =~ /mswin32|mingw32|mingw-ucrt/
25
25
  end
26
26
 
27
27
  def on_mac?
@@ -82,7 +82,7 @@ module ModuleDefinition
82
82
 
83
83
  def wait_for_lock(path, wait_for = 5, check_every = 0.5)
84
84
  start = Time.now.to_i
85
- while File.exists?(path)
85
+ while File.exist?(path)
86
86
  sleep check_every
87
87
  if (Time.now.to_i - start) > wait_for
88
88
  raise_error "Unable to acquire update lock"
@@ -142,14 +142,15 @@ module ModuleDefinition
142
142
  end
143
143
 
144
144
  def version_endpoint
145
- "#{endpoint_root}/latest_version_0_16.#{package_category}"
145
+ "#{endpoint_root}/latest_version_0_17.#{package_category}"
146
146
  end
147
147
 
148
148
  def update_package_endpoint
149
- "#{endpoint_root}/td-update-#{package_category}-0-16.zip"
149
+ "#{endpoint_root}/td-update-#{package_category}-0-17.zip"
150
150
  end
151
151
 
152
152
  def update(autoupdate = false)
153
+ FileUtils.mkdir_p File.dirname(updating_lock_path)
153
154
  wait_for_lock(updating_lock_path, 5) do
154
155
  require "td"
155
156
  require 'open-uri'
@@ -305,7 +306,7 @@ end # module ModuleDefinition
305
306
  last_updated = existent_jar_updated_time
306
307
 
307
308
  if updated > last_updated
308
- FileUtils.mkdir_p(Updater.jarfile_dest_path) unless File.exists?(Updater.jarfile_dest_path)
309
+ FileUtils.mkdir_p(Updater.jarfile_dest_path) unless File.exist?(Updater.jarfile_dest_path)
309
310
  Dir.chdir(Updater.jarfile_dest_path) do
310
311
  status = nil
311
312
  indicator = Command::TimeBasedDownloadProgressIndicator.new(
@@ -334,7 +335,7 @@ end # module ModuleDefinition
334
335
  else
335
336
  $stdout.puts "Update of td-import.jar failed."
336
337
  $stdout.puts "Please execute 'td import:jar_update' later to update td-import.jar correctly."
337
- File.delete 'td-import.jar.new' if File.exists? 'td-import.jar.new'
338
+ File.delete 'td-import.jar.new' if File.exist? 'td-import.jar.new'
338
339
  end
339
340
  end
340
341
  else
@@ -359,7 +360,7 @@ end # module ModuleDefinition
359
360
  end
360
361
  end
361
362
 
362
- if File.exists?(last_jar_autoupdate_timestamp) && \
363
+ if File.exist?(last_jar_autoupdate_timestamp) && \
363
364
  (Time.now - File.mtime(last_jar_autoupdate_timestamp)).to_i < (60 * 60 * 1) # every hour
364
365
  return
365
366
  end
data/lib/td/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module TreasureData
2
- TOOLBELT_VERSION = '0.16.10'
2
+ TOOLBELT_VERSION = '0.17.1'
3
3
  end
@@ -0,0 +1,79 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+ require "tempfile"
5
+ require 'td/command/common'
6
+ require 'td/command/account'
7
+ require 'td/command/list'
8
+ require 'td/helpers'
9
+
10
+ module TreasureData::Command
11
+ describe 'account command' do
12
+ let :command do
13
+ Class.new { include TreasureData::Command }.new
14
+ end
15
+ let(:client) { double(:client) }
16
+ let(:conf_file) { Tempfile.new("td.conf").tap {|s| s.close } }
17
+ let(:conf_expect) {
18
+ """[account]
19
+ user = test@email.com
20
+ apikey = 1/xxx
21
+ """
22
+ }
23
+
24
+ before do
25
+ TreasureData::Config.path = conf_file.path
26
+ end
27
+
28
+ it 'is called without any option' do
29
+ expect(STDIN).to receive(:gets).and_return('test@email.com')
30
+ if TreasureData::Helpers.on_windows?
31
+ 'password'.chars.each { |c| expect(command).to receive(:get_char).and_return(c) }
32
+ expect(command).to receive(:get_char).and_return(nil)
33
+ else
34
+ expect(STDIN).to receive(:gets).and_return('password')
35
+ end
36
+ expect(TreasureData::Client).to receive(:authenticate).and_return(client)
37
+ expect(client).to receive(:apikey).and_return("1/xxx")
38
+
39
+ op = List::CommandParser.new("account", %w[], %w[], false, [], true)
40
+ command.account(op)
41
+
42
+ expect(File.read(conf_file.path)).to eq(conf_expect)
43
+ end
44
+
45
+ it 'is called with -f option' do
46
+ if TreasureData::Helpers.on_windows?
47
+ 'password'.chars.each { |c| expect(command).to receive(:get_char).and_return(c) }
48
+ expect(command).to receive(:get_char).and_return(nil)
49
+ else
50
+ expect(STDIN).to receive(:gets).and_return('password')
51
+ end
52
+ expect(TreasureData::Client).to receive(:authenticate).and_return(client)
53
+ expect(client).to receive(:apikey).and_return("1/xxx")
54
+
55
+ op = List::CommandParser.new("account", %w[-f], %w[], false, ['test@email.com'], true)
56
+ command.account(op)
57
+
58
+ expect(File.read(conf_file.path)).to eq(conf_expect)
59
+ end
60
+
61
+ it 'is called with username password mismatched' do
62
+ if TreasureData::Helpers.on_windows?
63
+ 3.times do
64
+ 'password'.chars.each { |c| expect(command).to receive(:get_char).and_return(c) }
65
+ expect(command).to receive(:get_char).and_return(nil)
66
+ end
67
+ else
68
+ expect(STDIN).to receive(:gets).and_return('password').thrice
69
+ end
70
+ expect(TreasureData::Client).to receive(:authenticate).thrice.and_raise(TreasureData::AuthError)
71
+ expect(STDERR).to receive(:puts).with('User name or password mismatched.').thrice
72
+
73
+ op = List::CommandParser.new("account", %w[-f], %w[], false, ['test@email.com'], true)
74
+ command.account(op)
75
+
76
+ expect(File.read(conf_file.path)).to eq("")
77
+ end
78
+ end
79
+ end
@@ -271,6 +271,8 @@ text
271
271
 
272
272
  describe '#job_show' do
273
273
  let(:job_id) { "12345" }
274
+ let(:start_at) { Time.now.strftime('%Y-%m-%d %H:%M:%S UTC') }
275
+ let(:end_at) { (Time.now + 60).strftime('%Y-%m-%d %H:%M:%S UTC') }
274
276
 
275
277
  let :job_classs do
276
278
  Struct.new(:job_id,
@@ -278,6 +280,8 @@ text
278
280
  :type,
279
281
  :db_name,
280
282
  :priority,
283
+ :start_at,
284
+ :end_at,
281
285
  :retry_limit,
282
286
  :result_url,
283
287
  :query,
@@ -292,6 +296,8 @@ text
292
296
  :hive,
293
297
  "db_name",
294
298
  1,
299
+ start_at,
300
+ end_at,
295
301
  1,
296
302
  "test_url",
297
303
  "test_qury",
@@ -410,7 +416,7 @@ ACTUAL
410
416
  end
411
417
 
412
418
  let(:line_separator) {
413
- if RUBY_PLATFORM =~ /mswin32|mingw32/
419
+ if RUBY_PLATFORM =~ /mswin32|mingw32|mingw-ucrt/
414
420
  "\r\n"
415
421
  else
416
422
  "\n"
@@ -0,0 +1,19 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDBDCCAewCCQCQdq0wStTtITANBgkqhkiG9w0BAQsFADBEMR0wGwYDVQQDDBR3
3
+ d3cudHJlYXN1cmVkYXRhLmNvbTELMAkGA1UEBhMCVVMxFjAUBgNVBAcMDVNhbiBG
4
+ cmFuc2lzY28wHhcNMjIxMDE0MDQzNjA0WhcNMzIwNzEzMDQzNjA0WjBEMR0wGwYD
5
+ VQQDDBR3d3cudHJlYXN1cmVkYXRhLmNvbTELMAkGA1UEBhMCVVMxFjAUBgNVBAcM
6
+ DVNhbiBGcmFuc2lzY28wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU
7
+ 4RbAD5pop+AUYyJT0L4r/ZwOFz72TqQwyPh8EbpPlkvErWPP07kLO1gmfPHPH6zE
8
+ 4sAd8Pl5HZ29Z3fF9zO4ZaOehO+kMHp3jp1nq6vURzMjxDj42CyP+M7DOLrov98m
9
+ uwcZMdVjJlz9ZWt7P4x/F5cyqnzmFYxefi0xbgFFXKaWL1W3Fmq1dKMCgbCVWxlA
10
+ cufRFQmmO+OOcKfJTpcZZXH+VKai81OLjjoBkEERqZU8ySv2zR3gLBMAU3x/VL6/
11
+ AxcAi6ZbxQ29O28VTojQ44dA0op5wDtbI3reH9cMgALI1Swo2DyxXejYoZJYKqk3
12
+ AH2BiM0dbPnzOoufxjm/AgMBAAEwDQYJKoZIhvcNAQELBQADggEBACLeA1a/TU4E
13
+ 8bKVEr8X9CMROG2j5lsmPLZRTDUQT50iu5MBZzCNQi2tzUC+QHWC8m/xrhsg4b4t
14
+ r52dQuZlPSEGbzdiltrzQPODnSkA6tmgPeaea5wKG8abDgVQRbMBiamwgJruIi1s
15
+ ynX2yD4qdo07fTAC9CyKd9kogMRMXaqVppfIrob+HL3KQJ4MQPRJb+IN3K14Bdq8
16
+ /XL+8zH4zsWxPCkJyKlcUwGx3M0NHnYX0l8Enap65McTiaPIiCgr5TnkJmctDKBm
17
+ Zrv+c1sb69oJtlayGKWNymxdU+1f79IVioQf4qCa7ZB1//ON60KrQ9cRsmObJtnE
18
+ KD6Oett1Kto=
19
+ -----END CERTIFICATE-----
@@ -0,0 +1,23 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIID2jCCAsKgAwIBAgIJALE6L1U9f459MA0GCSqGSIb3DQEBCwUAMEQxHTAbBgNV
3
+ BAMMFHd3dy50cmVhc3VyZWRhdGEuY29tMQswCQYDVQQGEwJVUzEWMBQGA1UEBwwN
4
+ U2FuIEZyYW5zaXNjbzAeFw0yMjEwMTQwOTU3NDdaFw0zMjEwMTEwOTU3NDdaMGwx
5
+ CzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1TYW4g
6
+ RnJhbnNpc2NvMRYwFAYDVQQKDA1UcmVhc3VyZSBEYXRhMQwwCgYDVQQLDANFbmcx
7
+ CjAIBgNVBAMMASowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6TBzz
8
+ TnMXEwQhmsF9ggvyjzhsVQRQnVafPjR45mKgN5+4QmkW+t1RUv93ysz2UOXM1XfN
9
+ HptcrgbdsEmhDDWopsPgfJrSdN6O44oxplZOTusn20lJDG4Ogm0Kdn2k0P6Cj1bG
10
+ PmFLgw4BeXqhMWI60rbQw/HtFDMx6MWU555wr//jJNPIPOVBzVOiGhmoWYJY8ARB
11
+ WlplKeW0BkQ2J+650Q4dcqrrq4R6UbnyTjf9pqxSa2qP5y9ZQr+69COveX26ZSmA
12
+ 76PRzGE1oohsB37OCcQMwU+CuIHZkS9CMEGgkYfmfKaGtrsGtG52eGGwiYoAwSGJ
13
+ BJ/v53Pp3BGKWo9tAgMBAAGjgaYwgaMwXgYDVR0jBFcwVaFIpEYwRDEdMBsGA1UE
14
+ AwwUd3d3LnRyZWFzdXJlZGF0YS5jb20xCzAJBgNVBAYTAlVTMRYwFAYDVQQHDA1T
15
+ YW4gRnJhbnNpc2NvggkAkHatMErU7SEwCQYDVR0TBAIwADALBgNVHQ8EBAMCBPAw
16
+ EwYDVR0lBAwwCgYIKwYBBQUHAwEwFAYDVR0RBA0wC4IJbG9jYWxob3N0MA0GCSqG
17
+ SIb3DQEBCwUAA4IBAQBQkwlcEc98Pj9NB9NjhwZalgI36ptmj7vxyD8GXaJQWh7P
18
+ BKnOTxwbqhY68B7QgQ+NTusltnWsiO2IBAZR3MZGeLh4rFUUi4daww7fCLbYQD0t
19
+ YKOjUv8C4rlp8lRs/IMDMl1i2w1R6x78+RKSy1OhIvxT3qV9Zxx8RfqINboyDlbo
20
+ 6lOEQlLYGGUJutIbkUoPCo3TO3/oaLfwlFhnxgEwf+lX/qHoqTkz16JRzil6yFOx
21
+ qc5ugRF0S34lpnBd6qfbhV1QFY17WvSbbXmpBPONI2SLs0WSwwCTFVRg8Z+Y90oG
22
+ oGH+JdWsxn+9e8JTB/UOpxr+vWTyQ63wLaElPOyC
23
+ -----END CERTIFICATE-----
@@ -0,0 +1,27 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ MIIEogIBAAKCAQEAukwc805zFxMEIZrBfYIL8o84bFUEUJ1Wnz40eOZioDefuEJp
3
+ FvrdUVL/d8rM9lDlzNV3zR6bXK4G3bBJoQw1qKbD4Hya0nTejuOKMaZWTk7rJ9tJ
4
+ SQxuDoJtCnZ9pND+go9Wxj5hS4MOAXl6oTFiOtK20MPx7RQzMejFlOeecK//4yTT
5
+ yDzlQc1TohoZqFmCWPAEQVpaZSnltAZENifuudEOHXKq66uEelG58k43/aasUmtq
6
+ j+cvWUK/uvQjr3l9umUpgO+j0cxhNaKIbAd+zgnEDMFPgriB2ZEvQjBBoJGH5nym
7
+ hra7BrRudnhhsImKAMEhiQSf7+dz6dwRilqPbQIDAQABAoIBAF8IKpB2yUDRA398
8
+ 6Qz0BNIz+u1QJQZWbHSJD81IgLEIDuK4hdEiITm14/mgqxNPSxpFHnq1DT2mzHvT
9
+ zItppgmlIDBof7WxxkIPklQnbMk/erd3JhgsTgv6vlLjBM7JibriEbrI4WrarI9V
10
+ /5cwkNI+4OD3w3ZTopXoDroZuPnz/v0EKhDz05E4jHijfiRL3OxaAvZ2zWVKifVh
11
+ elilbCeLR2KgKG6jPrBzub2Yll9C7Xxt7emIMvyTg5jEOkmm7IWfAZ6uIraI7pAs
12
+ 5MlwQDIb/Ypby4gHJ0CPWy2AhdybF2Y+hm5jXY1aD7xjlG8pjudidYtnrpWO1kPV
13
+ bbqIvUUCgYEA3G5JQvcA9ZTiHculyW/6O++NXrOkznXI04JhhKN6JvdTdp3xC61k
14
+ H+gnP0e2/FeqqZWF6KWlmPBuonofEQqyCwJdHRZESaixgw7iKqN2t11Z9EhWzoGq
15
+ UGc1oMT90AIHxsGUBbUIZdlj1D8KDx/qymlsKp8ozTKwyCqNesiYet8CgYEA2FvQ
16
+ 94zgOauOCwfOwDipwivrJ9nblykMfcp8NCC2jLxI3rjH30EhRWBZrc0V55erjfrz
17
+ QgJYlj4kN/3GwLVq2Agr5EczjePScRlkpPNHdfAfXKvg7dHHsgrYf9lP6j2Adz8B
18
+ mhyYs1gfo6ekeHLoqKBlSn08AosfSTpETuIdizMCgYBFATFmCTT/rA/tC+dmW+uV
19
+ /7PdxZb+Gtk3fUVR5GtE73/tThw7b5g8dMx0ftrFvBvs4qX84n4olnvL2TcIerSp
20
+ xZ+oj2PpOyn2wR4EAxAS7uJOGqcyFl1etjCPl5ttFnWgvtC7yKRMXfVmaCWZ/n/d
21
+ xYra/OAk/I1i3A9WNJ2nOQKBgD83jLZYPkf7fXRxopJ9u/RVOs+ZE1V2lATJPkNI
22
+ 763tcelJ2nS8JgmMXoeu7eCOa3z/v0YhQ1sa6yBFEWbLW12l/ZUkzMZ/s8SCI+si
23
+ flXShIdiXUV/zzaRfrLUf0o1EC1HhqNOCbwVWqFJ4X+kK6DhxNbgAsHHfqu5z62w
24
+ 2esLAoGAbIbd5Xd+lRXbuNTyIqAONf4KgH529hU4W9tw+kR5OFqadC557Jvs33nn
25
+ iSqGgET+DZTxaOZk8KeCKZys8IcIxvWyhq22/Pd0BKl1ozWj4w/bkDlqO2V9I9NY
26
+ 32DBk4iAHljJqkmxnJkSXgGypf4guPZlNGPbTijXw3oHaIpvPl0=
27
+ -----END RSA PRIVATE KEY-----
@@ -8,7 +8,7 @@ require 'logger'
8
8
 
9
9
  module TreasureData::Updater
10
10
 
11
- %w(x86_64-darwin14 x64-mingw32).each do |platform|
11
+ %w(x86_64-darwin14 x64-mingw32).each do |platform|
12
12
  describe "RUBY_PLATFORM is '#{platform}'" do
13
13
  before do
14
14
  stub_const('RUBY_PLATFORM', platform)
@@ -128,7 +128,7 @@ module TreasureData::Updater
128
128
  subject
129
129
  end
130
130
  tmpfile = File.join(TreasureData::Updater.jarfile_dest_path, 'td-import.jar.new')
131
- expect(File.exists?(tmpfile)).to eq false
131
+ expect(File.exist?(tmpfile)).to eq false
132
132
  end
133
133
  end
134
134
 
@@ -171,7 +171,7 @@ module TreasureData::Updater
171
171
  @proxy_server = WEBrick::HTTPProxyServer.new(
172
172
  :BindAddress => "localhost",
173
173
  :Logger => logger,
174
- :Port => 0,
174
+ :Port => 1000 + rand(1000),
175
175
  :AccessLog => []
176
176
  )
177
177
  @proxy_server_thread = start_server_thread(@proxy_server)
@@ -185,13 +185,13 @@ module TreasureData::Updater
185
185
  @server = WEBrick::HTTPServer.new(
186
186
  :BindAddress => "localhost",
187
187
  :Logger => logger,
188
- :Port => 0,
188
+ :Port => 1000 + rand(1000),
189
189
  :AccessLog => [],
190
190
  :DocumentRoot => '.',
191
191
  :SSLEnable => true,
192
- :SSLCACertificateFile => fixture_file('ca.cert'),
193
- :SSLCertificate => cert('server.cert'),
194
- :SSLPrivateKey => key('server.key')
192
+ :SSLCACertificateFile => fixture_file('testRootCA.crt'),
193
+ :SSLCertificate => cert('testServer.crt'),
194
+ :SSLPrivateKey => key('testServer.key')
195
195
  )
196
196
  @serverport = @server.config[:Port]
197
197
  @server.mount(
data/td.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |gem|
19
19
 
20
20
  gem.add_dependency "msgpack"
21
21
  gem.add_dependency "rexml"
22
- gem.add_dependency "yajl-ruby", "~> 1.3.1"
22
+ gem.add_dependency "yajl-ruby", ">= 1.3.1", "< 2.0"
23
23
  gem.add_dependency "hirb", ">= 0.4.5"
24
24
  gem.add_dependency "parallel", "~> 1.20.0"
25
25
  gem.add_dependency "td-client", ">= 1.0.8", "< 2"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: td
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.10
4
+ version: 0.17.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Treasure Data, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-22 00:00:00.000000000 Z
11
+ date: 2023-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -42,16 +42,22 @@ dependencies:
42
42
  name: yajl-ruby
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 1.3.1
48
+ - - "<"
49
+ - !ruby/object:Gem::Version
50
+ version: '2.0'
48
51
  type: :runtime
49
52
  prerelease: false
50
53
  version_requirements: !ruby/object:Gem::Requirement
51
54
  requirements:
52
- - - "~>"
55
+ - - ">="
53
56
  - !ruby/object:Gem::Version
54
57
  version: 1.3.1
58
+ - - "<"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.0'
55
61
  - !ruby/object:Gem::Dependency
56
62
  name: hirb
57
63
  requirement: !ruby/object:Gem::Requirement
@@ -242,6 +248,7 @@ files:
242
248
  - ".circleci/config.yml"
243
249
  - ".coveralls.yml"
244
250
  - ".github/CODEOWNERS"
251
+ - ".github/workflows/codeql-analysis.yml"
245
252
  - ".gitignore"
246
253
  - ChangeLog
247
254
  - Gemfile
@@ -297,6 +304,7 @@ files:
297
304
  - spec/file_reader/shared_context.rb
298
305
  - spec/file_reader_spec.rb
299
306
  - spec/spec_helper.rb
307
+ - spec/td/command/account_spec.rb
300
308
  - spec/td/command/connector_spec.rb
301
309
  - spec/td/command/export_spec.rb
302
310
  - spec/td/command/import_spec.rb
@@ -314,6 +322,9 @@ files:
314
322
  - spec/td/fixture/ca.cert
315
323
  - spec/td/fixture/server.cert
316
324
  - spec/td/fixture/server.key
325
+ - spec/td/fixture/testRootCA.crt
326
+ - spec/td/fixture/testServer.crt
327
+ - spec/td/fixture/testServer.key
317
328
  - spec/td/fixture/tmp.zip
318
329
  - spec/td/helpers_spec.rb
319
330
  - spec/td/updater_spec.rb
@@ -323,7 +334,7 @@ homepage: http://treasure-data.com/
323
334
  licenses:
324
335
  - Apache-2.0
325
336
  metadata: {}
326
- post_install_message:
337
+ post_install_message:
327
338
  rdoc_options: []
328
339
  require_paths:
329
340
  - lib
@@ -338,8 +349,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
338
349
  - !ruby/object:Gem::Version
339
350
  version: '0'
340
351
  requirements: []
341
- rubygems_version: 3.1.4
342
- signing_key:
352
+ rubygems_version: 3.1.6
353
+ signing_key:
343
354
  specification_version: 4
344
355
  summary: CLI to manage data on Treasure Data, the Hadoop-based cloud data warehousing
345
356
  test_files:
@@ -350,6 +361,7 @@ test_files:
350
361
  - spec/file_reader/shared_context.rb
351
362
  - spec/file_reader_spec.rb
352
363
  - spec/spec_helper.rb
364
+ - spec/td/command/account_spec.rb
353
365
  - spec/td/command/connector_spec.rb
354
366
  - spec/td/command/export_spec.rb
355
367
  - spec/td/command/import_spec.rb
@@ -367,6 +379,9 @@ test_files:
367
379
  - spec/td/fixture/ca.cert
368
380
  - spec/td/fixture/server.cert
369
381
  - spec/td/fixture/server.key
382
+ - spec/td/fixture/testRootCA.crt
383
+ - spec/td/fixture/testServer.crt
384
+ - spec/td/fixture/testServer.key
370
385
  - spec/td/fixture/tmp.zip
371
386
  - spec/td/helpers_spec.rb
372
387
  - spec/td/updater_spec.rb