rutema_elements 0.1.3 → 0.1.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/History.txt +2 -0
- data/Manifest.txt +1 -0
- data/README.txt +1 -1
- data/Rakefile +2 -1
- data/lib/rutema/elements/general.rb +1 -1
- data/lib/rutema/elements/win32.rb +11 -2
- data/test/test_vsdbcmd.rb +6 -3
- metadata +24 -7
- data/test/test_selenium.rb +0 -0
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
data/README.txt
CHANGED
@@ -30,7 +30,7 @@ Check the RDocs for information on how to configure plus examples of usage for e
|
|
30
30
|
== LICENSE:
|
31
31
|
(The Ruby License)
|
32
32
|
|
33
|
-
rutema_elements is copyright (c) 2008 Vassilis Rizopoulos
|
33
|
+
rutema_elements is copyright (c) 2008 - 2009 Vassilis Rizopoulos
|
34
34
|
|
35
35
|
You can redistribute it and/or modify it under either the terms of the GPL
|
36
36
|
(see COPYING.txt file), or the conditions below:
|
data/Rakefile
CHANGED
@@ -5,7 +5,8 @@ require 'rutema/elements/general'
|
|
5
5
|
require 'rubygems'
|
6
6
|
require 'hoe'
|
7
7
|
|
8
|
-
Hoe.
|
8
|
+
Hoe.spec('rutema_elements') do |p|
|
9
|
+
p.version=Rutema::Elements::Version::STRING
|
9
10
|
p.rubyforge_name = 'patir'
|
10
11
|
p.author = "Vassilis Rizopoulos"
|
11
12
|
p.email = "riva@braveworld.net"
|
@@ -91,13 +91,22 @@ module Rutema
|
|
91
91
|
cfg[:dsp]||="sql"
|
92
92
|
root_path=script_root_path(cfg,step)
|
93
93
|
cfg[:dbschema]=adjust_with_root_path(step.dbschema,root_path,step)
|
94
|
+
#check the manifest and handle also the value from a possible attribute.
|
95
|
+
#if both are missing than it's an error
|
94
96
|
manifest=cfg[:manifest]
|
95
97
|
manifest=step.manifest if step.has_manifest?
|
96
|
-
raise Rutema::ParserError,"No manifest file defined for #{step.step_type}" unless manifest
|
98
|
+
raise Rutema::ParserError,"No manifest file defined for #{step.step_type} (wether in the configuration or as an attribute)" unless manifest
|
97
99
|
cfg[:manifest]=adjust_with_root_path(manifest,root_path,step)
|
100
|
+
#do the same for connection string
|
101
|
+
connection_string=cfg[:cs]
|
102
|
+
connection_string=step.connection_string if step.has_connection_string?
|
103
|
+
raise Rutema::ParserError,"No connection string defined for #{step.step_type} (wether in the configuration or as an attribute)" unless connection_string
|
104
|
+
cfg[:cs]=connection_string
|
105
|
+
#optional overrides
|
98
106
|
if step.has_overrides?
|
99
107
|
cfg[:overrides]=step.overrides
|
100
108
|
end
|
109
|
+
#assign the command
|
101
110
|
step.cmd=vsdbcmd_command(cfg)
|
102
111
|
return step
|
103
112
|
end
|
@@ -140,7 +149,7 @@ module Rutema
|
|
140
149
|
path_to_util=File.expand_path(cfg[:path])
|
141
150
|
dbschema=File.expand_path(cfg[:dbschema]).gsub("/","\\\\")
|
142
151
|
manifest=File.expand_path(cfg[:manifest]).gsub("/","\\\\")
|
143
|
-
cmdline="#{path_to_util} /a:Deploy /dsp:#{cfg[:dsp]} /dd /model:\"#{dbschema}\" /manifest:\"#{manifest}\" #{cfg[:overrides]}"
|
152
|
+
cmdline="#{path_to_util} /a:Deploy /dsp:#{cfg[:dsp]} /dd /model:\"#{dbschema}\" /manifest:\"#{manifest}\" /cs:\"#{cfg[:cs]}\" #{cfg[:overrides]}"
|
144
153
|
@logger.debug("Parsed vsdbcmd call as '#{cmdline}'")
|
145
154
|
#make sure the script executes at the specification directory.
|
146
155
|
return Patir::ShellCommand.new(:cmd=>cmdline)
|
data/test/test_vsdbcmd.rb
CHANGED
@@ -2,6 +2,7 @@ $:.unshift File.join(File.dirname(__FILE__),"..","lib")
|
|
2
2
|
require 'test/unit'
|
3
3
|
require 'rutema/elements/win32'
|
4
4
|
require 'rubygems'
|
5
|
+
require 'patir/base'
|
5
6
|
require 'mocha'
|
6
7
|
|
7
8
|
class TestSqlcmd <Test::Unit::TestCase
|
@@ -23,8 +24,10 @@ class TestSqlcmd <Test::Unit::TestCase
|
|
23
24
|
assert_raise(Rutema::ParserError) { element_vsdbcmd(step) }
|
24
25
|
end
|
25
26
|
def test_normal_flow
|
27
|
+
@logger=Patir.setup_logger
|
28
|
+
cfg={:configuration=>{:path=>File.join(File.dirname(__FILE__),"data/sample.dbschema"),:cs=>"connection"}}
|
26
29
|
cmd_conf=mock()
|
27
|
-
cmd_conf.expects(:vsdbcmd).returns(
|
30
|
+
cmd_conf.expects(:vsdbcmd).returns(cfg).times(3)
|
28
31
|
@configuration=mock()
|
29
32
|
@configuration.expects(:tools).returns(cmd_conf).times(3)
|
30
33
|
step=mock_simple_step
|
@@ -33,13 +36,13 @@ class TestSqlcmd <Test::Unit::TestCase
|
|
33
36
|
private
|
34
37
|
def mock_simple_step
|
35
38
|
step=mock()
|
36
|
-
step.expects(:has_script?).returns(true)
|
37
39
|
step.expects(:has_script_root?).returns(false)
|
38
40
|
step.expects(:has_dbschema?).returns(true)
|
39
41
|
step.expects(:dbschema).returns(File.join(File.dirname(__FILE__),"data","sample.dbschema"))
|
40
42
|
step.expects(:has_manifest?).returns(true)
|
41
|
-
step.expects(:manifest).returns(File.join("data","sample.dbschema"))
|
43
|
+
step.expects(:manifest).returns(File.join(File.dirname(__FILE__),"data","sample.dbschema"))
|
42
44
|
step.expects(:has_overrides?).returns(false)
|
45
|
+
step.expects(:has_connection_string?).returns(false)
|
43
46
|
step.expects(:cmd=)
|
44
47
|
return step
|
45
48
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rutema_elements
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vassilis Rizopoulos
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-07-16 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -40,9 +40,24 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: 2.3.2
|
44
44
|
version:
|
45
|
-
description:
|
45
|
+
description: |-
|
46
|
+
== DESCRIPTION:
|
47
|
+
Rutema Elements modules are the easiest way to add functionality to rutema parsers.
|
48
|
+
Just derive your parser from the basic rutema parser and include the module of your choice
|
49
|
+
|
50
|
+
class MyParser < Rutema::MinimalXMLParser
|
51
|
+
include Rutema::Elements::IIS
|
52
|
+
include Rutema::Elements::Standard
|
53
|
+
end
|
54
|
+
|
55
|
+
and voila! your parser now understands how to reset IIS, wait and fail!
|
56
|
+
|
57
|
+
== FEATURES/PROBLEMS:
|
58
|
+
Easy addition of extra functionality for rutema
|
59
|
+
|
60
|
+
IIS, MSTest and SQLServer modules are windows specific as they use the MS commandline tools
|
46
61
|
email: riva@braveworld.net
|
47
62
|
executables: []
|
48
63
|
|
@@ -60,11 +75,14 @@ files:
|
|
60
75
|
- lib/rutema/elements/win32.rb
|
61
76
|
- lib/rutema/elements/general.rb
|
62
77
|
- test/test_sqlcmd.rb
|
78
|
+
- test/test_vsdbcmd.rb
|
63
79
|
- test/test_get_url.rb
|
64
80
|
- test/test_standard.rb
|
65
81
|
- test/data/sample.sql
|
66
82
|
has_rdoc: true
|
67
83
|
homepage:
|
84
|
+
licenses: []
|
85
|
+
|
68
86
|
post_install_message:
|
69
87
|
rdoc_options:
|
70
88
|
- --main
|
@@ -86,13 +104,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
104
|
requirements: []
|
87
105
|
|
88
106
|
rubyforge_project: patir
|
89
|
-
rubygems_version: 1.3.
|
107
|
+
rubygems_version: 1.3.4
|
90
108
|
signing_key:
|
91
|
-
specification_version:
|
109
|
+
specification_version: 3
|
92
110
|
summary: rutema elements provides modules that can be used with custom parsers to add elements to rutema specifications
|
93
111
|
test_files:
|
94
112
|
- test/test_get_url.rb
|
95
|
-
- test/test_selenium.rb
|
96
113
|
- test/test_sqlcmd.rb
|
97
114
|
- test/test_standard.rb
|
98
115
|
- test/test_vsdbcmd.rb
|
data/test/test_selenium.rb
DELETED
File without changes
|