slacker 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/README.markdown +12 -0
- data/lib/slacker/version.rb +1 -1
- data/lib/slacker_new/project/data/sample_1/my_table_expected_power_results.csv +11 -0
- data/lib/slacker_new/project/data/sample_1/my_table_initial_data.csv +11 -0
- data/lib/slacker_new/project/data/sample_1/numbers_expected_output.csv +3 -0
- data/lib/slacker_new/project/database.yml +4 -4
- data/lib/slacker_new/project/spec/sample_1.rb +28 -0
- data/lib/slacker_new/project/sql/sample_1/create_my_table.sql.erb +1 -0
- data/lib/slacker_new/project/sql/sample_1/my_table_on_power.sql.erb +2 -0
- metadata +6 -2
- data/lib/slacker_new/project/data/my_table.csv +0 -0
data/Gemfile.lock
CHANGED
data/README.markdown
CHANGED
@@ -38,6 +38,18 @@ If all is good, you should see something like this:
|
|
38
38
|
|
39
39
|
Next, check out sample file `my_project\spec\sample_1.rb` to see the BDD specification you just executed.
|
40
40
|
|
41
|
+
Also take a look at the SQL files generated in folder `my_project\debug\passed_examples`. Those are the actual scripts __Slacker__ generated and executed against your database.
|
42
|
+
|
43
|
+
Pop any of these scripts into SQL Server Management Studio and run to see the actual results received by __Slacker__.
|
44
|
+
|
45
|
+
Note that all the scripts are executed in their own transaction which is rolled back at the end.
|
46
|
+
|
47
|
+
This ensures that:
|
48
|
+
|
49
|
+
1. When __Slacker__ finishes its run, it leaves the database in the same exact state as it found it.
|
50
|
+
|
51
|
+
2. All examples (see `sample_1.rb`) are executed in isolation from each other. No example can interfere with the results of any of the other examples.
|
52
|
+
|
41
53
|
# Documentation TODO
|
42
54
|
|
43
55
|
Document the following features:
|
data/lib/slacker/version.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
# Database connection
|
2
|
-
# When Slacker is executed, it will attempt to connect to this database
|
1
|
+
# Database connection.
|
2
|
+
# When Slacker is executed, it will attempt to connect to this database.
|
3
3
|
|
4
|
-
# Replace the following with your connection information
|
5
|
-
# Note that at this point Slacker only works with SQL Server authentication
|
4
|
+
# Replace the following with your connection information.
|
5
|
+
# Note that at this point Slacker only works with SQL Server authentication.
|
6
6
|
server: my_server
|
7
7
|
database: my_database
|
8
8
|
user: user_name
|
@@ -75,4 +75,32 @@ describe 'My database' do
|
|
75
75
|
third_resultset[1][:s].should == 44
|
76
76
|
end
|
77
77
|
end
|
78
|
+
|
79
|
+
# The results of a query can also be compared against the contents
|
80
|
+
# of a CSV file located in the data folder - see file data/sample_1/numbers_expected_output.csv
|
81
|
+
it 'can play with numbers (take two)' do
|
82
|
+
sql.sample_1.play_with_numbers(:x => 10, :y => 34) do
|
83
|
+
results[2].should match('sample_1/numbers_expected_output.csv')
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
# CSV files can be used to load data directly into a table.
|
88
|
+
# In this example, we will create a table, populate it with data,
|
89
|
+
# execute standard deviation calculation and verify the results against
|
90
|
+
# an expected result stored in a CSV file.
|
91
|
+
it 'can play with numbers (take three)' do
|
92
|
+
# Create the table - see file sql/sample_1/create_my_table.sql.erb
|
93
|
+
sql.sample_1.create_my_table
|
94
|
+
# We can populate any table by calling method "load_csv".
|
95
|
+
# As a first parameter we will pass the name of the CSV file which contains the source data;
|
96
|
+
# The file name is relative to the data folder - see file data/sample_1/my_table_initial_data.csv.
|
97
|
+
# The name of the destination table goes into the second parameter.
|
98
|
+
load_csv 'sample_1/my_table_initial_data.csv', 'MyTable'
|
99
|
+
|
100
|
+
# Now let's test the system scalar function Power.
|
101
|
+
# We will use it in a query expression executed agaings MyTable and we
|
102
|
+
# will compare the results against a CSV file - we should expect them to match.
|
103
|
+
# See files "sql/sample_1/my_table_on_power.sql.erb" and "data/sample_1/my_table_expected_power_results.csv"
|
104
|
+
sql.sample_1.my_table_on_power.should match('sample_1/my_table_expected_power_results.csv')
|
105
|
+
end
|
78
106
|
end
|
@@ -0,0 +1 @@
|
|
1
|
+
create table MyTable(x int, y int);
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: slacker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
5
|
+
version: 0.0.9
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Vassil Kovatchev
|
@@ -75,12 +75,16 @@ files:
|
|
75
75
|
- lib/slacker/application.rb
|
76
76
|
- lib/slacker.rb
|
77
77
|
- lib/slacker_new/project/lib/helpers/my_helper.rb
|
78
|
-
- lib/slacker_new/project/data/
|
78
|
+
- lib/slacker_new/project/data/sample_1/my_table_expected_power_results.csv
|
79
|
+
- lib/slacker_new/project/data/sample_1/my_table_initial_data.csv
|
80
|
+
- lib/slacker_new/project/data/sample_1/numbers_expected_output.csv
|
79
81
|
- lib/slacker_new/project/debug/failed_examples/example_001.sql
|
80
82
|
- lib/slacker_new/project/debug/passed_examples/example_001.sql
|
83
|
+
- lib/slacker_new/project/sql/sample_1/my_table_on_power.sql.erb
|
81
84
|
- lib/slacker_new/project/sql/sample_1/sysobjects_with_params_2.sql.erb
|
82
85
|
- lib/slacker_new/project/sql/sample_1/play_with_numbers.sql.erb
|
83
86
|
- lib/slacker_new/project/sql/sample_1/sysobjects_with_params.sql.erb
|
87
|
+
- lib/slacker_new/project/sql/sample_1/create_my_table.sql.erb
|
84
88
|
- lib/slacker_new/project/sql/sample_1/sysobjects.sql.erb
|
85
89
|
- lib/slacker_new/project/spec/sample_1.rb
|
86
90
|
- lib/slacker_new/project/database.yml
|
File without changes
|