infrataster-plugin-oracledb 0.1.0
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/.gitignore +22 -0
- data/.rspec +3 -0
- data/Gemfile +2 -0
- data/README.md +1 -0
- data/infrataster-plugin-oracledb.gemspec +22 -0
- data/lib/infrataster-plugin-oracledb.rb +5 -0
- data/lib/infrataster/contexts/oracledb_query_context.rb +36 -0
- data/lib/infrataster/helpers/oracledb_resource_helper.rb +14 -0
- data/lib/infrataster/resources/oracledb_query_resource.rb +21 -0
- data/spec/oracledb_query_spec.rb +13 -0
- data/spec/spec_helper.rb +21 -0
- metadata +127 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4d22924ee53a9f29a111adbf9b341eb0ab1d6545
|
4
|
+
data.tar.gz: cbdb7fb74a21e15b818827b6450b0505c9842d45
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9742b4c6512daf208d395e3e9f3364b82f80aff0d95a99329d9efa5c2f05c62b0f3c62b682ff1154bf266cb4f9166936e9822ff9291cc909b03ec25517fa7e05
|
7
|
+
data.tar.gz: d1181b85b99a023d62b13ba019deafbd2eacd2033e4c686595ab75d616275a1066907a41ece2a7e37f64f478f41ddb3ce7e2af9b09569e2dbb1aa475aa7b31f3
|
data/.gitignore
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
Gemfile.lock
|
7
|
+
InstalledFiles
|
8
|
+
_yardoc
|
9
|
+
coverage
|
10
|
+
doc/
|
11
|
+
lib/bundler/man
|
12
|
+
pkg
|
13
|
+
rdoc
|
14
|
+
spec/reports
|
15
|
+
test/tmp
|
16
|
+
test/version_tmp
|
17
|
+
tmp
|
18
|
+
*.bundle
|
19
|
+
*.so
|
20
|
+
*.o
|
21
|
+
*.a
|
22
|
+
mkmf.log
|
data/.rspec
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# infrataster-plugin-oracledb
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
Gem::Specification.new do |spec|
|
3
|
+
spec.name = "infrataster-plugin-oracledb"
|
4
|
+
spec.version = '0.1.0'
|
5
|
+
spec.authors = ["Michitoshi Yoshida"]
|
6
|
+
spec.email = ["miyosh0008@gmail.com"]
|
7
|
+
spec.summary = %q{Oracle Database plugin for Infrataster}
|
8
|
+
spec.homepage = ""
|
9
|
+
spec.license = "MIT"
|
10
|
+
|
11
|
+
spec.files = `git ls-files -z`.split("\x0")
|
12
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
13
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
14
|
+
spec.require_paths = ["lib"]
|
15
|
+
|
16
|
+
spec.add_runtime_dependency "infrataster", "~> 0.3.0"
|
17
|
+
spec.add_runtime_dependency "ruby-oci8"
|
18
|
+
|
19
|
+
spec.add_development_dependency "bundler", "~> 1.12"
|
20
|
+
spec.add_development_dependency "rake"
|
21
|
+
spec.add_development_dependency "rspec"
|
22
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# oracledb_query_context.rb
|
2
|
+
# coding: utf-8
|
3
|
+
require 'infrataster'
|
4
|
+
require 'oci8'
|
5
|
+
|
6
|
+
module Infrataster
|
7
|
+
module Contexts
|
8
|
+
class OracledbQueryContext < BaseContext
|
9
|
+
def results
|
10
|
+
options = {
|
11
|
+
port: 1521, user: '', password: '', service_name: ''
|
12
|
+
}
|
13
|
+
if server.options[:oracledb]
|
14
|
+
options = options.merge(server.options[:oracledb])
|
15
|
+
end
|
16
|
+
|
17
|
+
server.forward_port(options[:port]) do |address, new_port|
|
18
|
+
conn = OCI8.new(
|
19
|
+
options[:user], options[:password],
|
20
|
+
"//#{address}:#{new_port}/#{options[:service_name]}"
|
21
|
+
)
|
22
|
+
cursor = conn.parse(resource.query)
|
23
|
+
cursor.exec()
|
24
|
+
|
25
|
+
rows = []
|
26
|
+
while r = cursor.fetch_hash()
|
27
|
+
rows.push(r)
|
28
|
+
end
|
29
|
+
cursor.close
|
30
|
+
conn.logoff
|
31
|
+
rows
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# oracledb_resource_helper.rb
|
2
|
+
# coding: utf-8
|
3
|
+
require 'rspec'
|
4
|
+
require 'infrataster/resources'
|
5
|
+
|
6
|
+
module Infrataster
|
7
|
+
module Helpers
|
8
|
+
module ResourceHelper
|
9
|
+
def oracledb_query(*args)
|
10
|
+
Resources::OracledbQueryResource.new(*args)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# oracledb_query_resource.rb
|
2
|
+
# coding: utf-8
|
3
|
+
require 'infrataster'
|
4
|
+
|
5
|
+
module Infrataster
|
6
|
+
module Resources
|
7
|
+
class OracledbQueryResource < BaseResource
|
8
|
+
Error = Class.new(StandardError)
|
9
|
+
|
10
|
+
attr_reader :query
|
11
|
+
|
12
|
+
def initialize(query)
|
13
|
+
@query = query
|
14
|
+
end
|
15
|
+
|
16
|
+
def to_s
|
17
|
+
"oracledb_query '#{@query}'"
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# oracledb_query_spec.rb
|
2
|
+
# coding: utf-8
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe server(:orcl) do
|
6
|
+
describe oracledb_query('select name,display_value from v$parameter') do
|
7
|
+
# check db_block_size
|
8
|
+
it "initialization parameter 'db_block_size' should equal 8192" do
|
9
|
+
row = results.find { |r| r['NAME'] == 'db_block_size' }
|
10
|
+
expect(row['DISPLAY_VALUE'].to_i).to eq 8192
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
# spec_helper.rb
|
2
|
+
# coding: utf-8
|
3
|
+
require 'infrataster/rspec'
|
4
|
+
require 'infrataster-plugin-oracledb'
|
5
|
+
|
6
|
+
Infrataster::Server.define(
|
7
|
+
:orcl,
|
8
|
+
'192.168.56.101',
|
9
|
+
oracledb: {user: 'system', password: 'oracle', service_name: 'orcl'},
|
10
|
+
)
|
11
|
+
|
12
|
+
RSpec.configure do |config|
|
13
|
+
config.run_all_when_everything_filtered = true
|
14
|
+
config.filter_run :focus
|
15
|
+
|
16
|
+
# Run specs in random order to surface order dependencies. If you find an
|
17
|
+
# order dependency and want to debug it, you can fix the order by providing
|
18
|
+
# the seed, which is printed after each run.
|
19
|
+
# --seed 1234
|
20
|
+
config.order = 'random'
|
21
|
+
end
|
metadata
ADDED
@@ -0,0 +1,127 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: infrataster-plugin-oracledb
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Michitoshi Yoshida
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-08-27 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: infrataster
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.3.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.3.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: ruby-oci8
|
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: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ~>
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.12'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.12'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
description:
|
84
|
+
email:
|
85
|
+
- miyosh0008@gmail.com
|
86
|
+
executables: []
|
87
|
+
extensions: []
|
88
|
+
extra_rdoc_files: []
|
89
|
+
files:
|
90
|
+
- .gitignore
|
91
|
+
- .rspec
|
92
|
+
- Gemfile
|
93
|
+
- README.md
|
94
|
+
- infrataster-plugin-oracledb.gemspec
|
95
|
+
- lib/infrataster-plugin-oracledb.rb
|
96
|
+
- lib/infrataster/contexts/oracledb_query_context.rb
|
97
|
+
- lib/infrataster/helpers/oracledb_resource_helper.rb
|
98
|
+
- lib/infrataster/resources/oracledb_query_resource.rb
|
99
|
+
- spec/oracledb_query_spec.rb
|
100
|
+
- spec/spec_helper.rb
|
101
|
+
homepage: ''
|
102
|
+
licenses:
|
103
|
+
- MIT
|
104
|
+
metadata: {}
|
105
|
+
post_install_message:
|
106
|
+
rdoc_options: []
|
107
|
+
require_paths:
|
108
|
+
- lib
|
109
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - '>='
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0'
|
114
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
|
+
requirements:
|
116
|
+
- - '>='
|
117
|
+
- !ruby/object:Gem::Version
|
118
|
+
version: '0'
|
119
|
+
requirements: []
|
120
|
+
rubyforge_project:
|
121
|
+
rubygems_version: 2.0.14
|
122
|
+
signing_key:
|
123
|
+
specification_version: 4
|
124
|
+
summary: Oracle Database plugin for Infrataster
|
125
|
+
test_files:
|
126
|
+
- spec/oracledb_query_spec.rb
|
127
|
+
- spec/spec_helper.rb
|