hookercookerman-amee 0.0.2
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 +1 -0
- data/LICENSE.txt +20 -0
- data/Manifest.txt +79 -0
- data/README.rdoc +33 -0
- data/Rakefile +29 -0
- data/features/config.feature +22 -0
- data/features/data/data_category.feature +26 -0
- data/features/data/data_item.feature +19 -0
- data/features/data/data_item_value.feature +17 -0
- data/features/data/drill_down.feature +48 -0
- data/features/development.feature +13 -0
- data/features/profile/create.profile.feature +15 -0
- data/features/profile/create.profile_item.feature +12 -0
- data/features/profile/delete.profile.feature +12 -0
- data/features/profile/delete.profile_item.feature +13 -0
- data/features/profile/get.profile.feature +13 -0
- data/features/profile/profile_category.feature +14 -0
- data/features/profile/profile_item.feature +15 -0
- data/features/profile/profiles.feature +15 -0
- data/features/profile/update.profile_item.feature +14 -0
- data/features/session/reauthenticate.feature +16 -0
- data/features/step_definitions/amee_steps.rb +67 -0
- data/features/step_definitions/common_steps.rb +194 -0
- data/features/step_definitions/config_steps.rb +13 -0
- data/features/step_definitions/data_steps.rb +142 -0
- data/features/step_definitions/profile_category_steps.rb +23 -0
- data/features/step_definitions/profile_item_steps.rb +62 -0
- data/features/step_definitions/profile_steps.rb +41 -0
- data/features/support/amee/auth/response.json +11 -0
- data/features/support/amee/data.json +84 -0
- data/features/support/amee/data/transport/car/generic.json +3 -0
- data/features/support/amee/data/transport/car/generic/drill.json +66 -0
- data/features/support/amee/data/transport/car/generic/drill?fuel=diesel&size=large.json +55 -0
- data/features/support/amee/data/transport/car/generic/drill?fuel=diesel.json +59 -0
- data/features/support/amee/data/transport/plane/generic.json +225 -0
- data/features/support/amee/data/transport/plane/generic/FFC7A05D54AD.json +224 -0
- data/features/support/amee/data/transport/plane/generic/FFC7A05D54AD/kgCO2PerPassengerJourney.json +42 -0
- data/features/support/amee/data_category.json +84 -0
- data/features/support/amee/data_category_with_data_items.json +225 -0
- data/features/support/amee/profiles.json +73 -0
- data/features/support/amee/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157.json +190 -0
- data/features/support/amee/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157?distance=400&representation=true.json +190 -0
- data/features/support/amee/profiles/48B97680BCCF/home/energy/quantity/response.json +9 -0
- data/features/support/amee/profiles/7C7D68C2A7CD/home.json +65 -0
- data/features/support/amee/profiles/BB1BDB4FDD77/home/energy/quantity/920B54ED665B.json +201 -0
- data/features/support/amee/profiles/E0BCB3704D15.json +19 -0
- data/features/support/amee/profiles/E0BCB3704D15/Business.json +6 -0
- data/features/support/amee/profiles/profile.json +27 -0
- data/features/support/env.rb +24 -0
- data/init.rb +4 -0
- data/lib/amee.rb +37 -0
- data/lib/amee/config.rb +59 -0
- data/lib/amee/data_api/data_category.rb +50 -0
- data/lib/amee/data_api/data_item.rb +28 -0
- data/lib/amee/data_api/data_item_value.rb +13 -0
- data/lib/amee/data_api/drill_down.rb +23 -0
- data/lib/amee/data_api/item_definition.rb +11 -0
- data/lib/amee/data_api/item_value_definition.rb +13 -0
- data/lib/amee/data_api/value_definition.rb +10 -0
- data/lib/amee/logging.rb +43 -0
- data/lib/amee/model.rb +128 -0
- data/lib/amee/parser.rb +137 -0
- data/lib/amee/profile_api/profile.rb +39 -0
- data/lib/amee/profile_api/profile_category.rb +42 -0
- data/lib/amee/profile_api/profile_item.rb +47 -0
- data/lib/amee/service.rb +78 -0
- data/lib/amee/session.rb +222 -0
- data/lib/amee/utils/string.rb +11 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +71 -0
- data/spec/amee_spec.rb +1 -0
- data/spec/service_spec.rb +53 -0
- data/spec/session_spec.rb +45 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +19 -0
- data/tasks/rspec.rake +21 -0
- data/tasks/yard.rake +4 -0
- metadata +184 -0
data/History.txt
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
There is none
|
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright (c) 2009 Richard Hooker
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
4
|
+
a copy of this software and associated documentation files (the
|
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
9
|
+
the following conditions:
|
|
10
|
+
|
|
11
|
+
The above copyright notice and this permission notice shall be
|
|
12
|
+
included in all copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/Manifest.txt
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
History.txt
|
|
2
|
+
LICENSE.txt
|
|
3
|
+
Manifest.txt
|
|
4
|
+
README.rdoc
|
|
5
|
+
Rakefile
|
|
6
|
+
features/config.feature
|
|
7
|
+
features/data/data_category.feature
|
|
8
|
+
features/data/data_item.feature
|
|
9
|
+
features/data/data_item_value.feature
|
|
10
|
+
features/data/drill_down.feature
|
|
11
|
+
features/development.feature
|
|
12
|
+
features/profile/create.profile.feature
|
|
13
|
+
features/profile/create.profile_item.feature
|
|
14
|
+
features/profile/delete.profile.feature
|
|
15
|
+
features/profile/delete.profile_item.feature
|
|
16
|
+
features/profile/get.profile.feature
|
|
17
|
+
features/profile/profile_category.feature
|
|
18
|
+
features/profile/profile_item.feature
|
|
19
|
+
features/profile/profiles.feature
|
|
20
|
+
features/profile/update.profile_item.feature
|
|
21
|
+
features/session/reauthenticate.feature
|
|
22
|
+
features/step_definitions/amee_steps.rb
|
|
23
|
+
features/step_definitions/common_steps.rb
|
|
24
|
+
features/step_definitions/config_steps.rb
|
|
25
|
+
features/step_definitions/data_steps.rb
|
|
26
|
+
features/step_definitions/profile_category_steps.rb
|
|
27
|
+
features/step_definitions/profile_item_steps.rb
|
|
28
|
+
features/step_definitions/profile_steps.rb
|
|
29
|
+
features/support/amee/auth/response.json
|
|
30
|
+
features/support/amee/data.json
|
|
31
|
+
features/support/amee/data/transport/car/generic.json
|
|
32
|
+
features/support/amee/data/transport/car/generic/drill.json
|
|
33
|
+
features/support/amee/data/transport/car/generic/drill?fuel=diesel&size=large.json
|
|
34
|
+
features/support/amee/data/transport/car/generic/drill?fuel=diesel.json
|
|
35
|
+
features/support/amee/data/transport/plane/generic.json
|
|
36
|
+
features/support/amee/data/transport/plane/generic/FFC7A05D54AD.json
|
|
37
|
+
features/support/amee/data/transport/plane/generic/FFC7A05D54AD/kgCO2PerPassengerJourney.json
|
|
38
|
+
features/support/amee/data_category.json
|
|
39
|
+
features/support/amee/data_category_with_data_items.json
|
|
40
|
+
features/support/amee/profiles.json
|
|
41
|
+
features/support/amee/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157.json
|
|
42
|
+
features/support/amee/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157?distance=400&representation=true.json
|
|
43
|
+
features/support/amee/profiles/48B97680BCCF/home/energy/quantity/response.json
|
|
44
|
+
features/support/amee/profiles/7C7D68C2A7CD/home.json
|
|
45
|
+
features/support/amee/profiles/BB1BDB4FDD77/home/energy/quantity/920B54ED665B.json
|
|
46
|
+
features/support/amee/profiles/E0BCB3704D15.json
|
|
47
|
+
features/support/amee/profiles/E0BCB3704D15/Business.json
|
|
48
|
+
features/support/amee/profiles/profile.json
|
|
49
|
+
features/support/env.rb
|
|
50
|
+
init.rb
|
|
51
|
+
lib/amee.rb
|
|
52
|
+
lib/amee/config.rb
|
|
53
|
+
lib/amee/data_api/data_category.rb
|
|
54
|
+
lib/amee/data_api/data_item.rb
|
|
55
|
+
lib/amee/data_api/data_item_value.rb
|
|
56
|
+
lib/amee/data_api/drill_down.rb
|
|
57
|
+
lib/amee/data_api/item_definition.rb
|
|
58
|
+
lib/amee/data_api/item_value_definition.rb
|
|
59
|
+
lib/amee/data_api/value_definition.rb
|
|
60
|
+
lib/amee/logging.rb
|
|
61
|
+
lib/amee/model.rb
|
|
62
|
+
lib/amee/parser.rb
|
|
63
|
+
lib/amee/profile_api/profile.rb
|
|
64
|
+
lib/amee/profile_api/profile_category.rb
|
|
65
|
+
lib/amee/profile_api/profile_item.rb
|
|
66
|
+
lib/amee/service.rb
|
|
67
|
+
lib/amee/session.rb
|
|
68
|
+
lib/amee/utils/string.rb
|
|
69
|
+
script/console
|
|
70
|
+
script/destroy
|
|
71
|
+
script/generate
|
|
72
|
+
script/txt2html
|
|
73
|
+
spec/amee_spec.rb
|
|
74
|
+
spec/service_spec.rb
|
|
75
|
+
spec/session_spec.rb
|
|
76
|
+
spec/spec.opts
|
|
77
|
+
spec/spec_helper.rb
|
|
78
|
+
tasks/rspec.rake
|
|
79
|
+
tasks/yard.rake
|
data/README.rdoc
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
= Amee (Lets Cut Co2) By D50
|
|
2
|
+
|
|
3
|
+
= Docs
|
|
4
|
+
|
|
5
|
+
These are on the way; this is very early release; However have a look at the cucumber features
|
|
6
|
+
you should be able so see that most bases have been covered; Basically the more we use this
|
|
7
|
+
the more docs there will be
|
|
8
|
+
|
|
9
|
+
= Usage (More to come; If you are lucky and example rails app)
|
|
10
|
+
|
|
11
|
+
There is a config where login, cache and logging settings can be applied have a look at the config
|
|
12
|
+
model to see how one should use that.
|
|
13
|
+
|
|
14
|
+
Create a session ie @session = Amee::Session.create("blar", "blar")
|
|
15
|
+
And then use the session to get, put, post and delete on what you required from amee;
|
|
16
|
+
there are a set number of operations that are available to you currently but more will
|
|
17
|
+
be added
|
|
18
|
+
|
|
19
|
+
Some objects say like data_categories can be lazy loaded so you can do method calls like
|
|
20
|
+
|
|
21
|
+
data_category = @session.get_data_category("/data/home/appliances")
|
|
22
|
+
fridge = data_category.data_categories.first
|
|
23
|
+
|
|
24
|
+
if you wanted to know the data_categories for fridge just call data_categories on fridge it
|
|
25
|
+
will populated the fridge category automagically;
|
|
26
|
+
|
|
27
|
+
Cache - Simple to Start (using Moneta)
|
|
28
|
+
Therefore if u wish you can choose your cache store even memcache via leveraging Moneta
|
|
29
|
+
|
|
30
|
+
= TODOS
|
|
31
|
+
|
|
32
|
+
Pagination (should be simple enough just hook into will_paginate collections)
|
|
33
|
+
Other stuff when start to use amee api fully
|
data/Rakefile
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
%w[rubygems rake rake/clean fileutils newgem rubigen].each { |f| require f }
|
|
2
|
+
require File.dirname(__FILE__) + '/lib/amee'
|
|
3
|
+
|
|
4
|
+
# Generate all the Rake tasks
|
|
5
|
+
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
|
6
|
+
$hoe = Hoe.new('amee', Amee::VERSION) do |p|
|
|
7
|
+
p.developer('Richard Hooker', 'richard.hooker@dynamic50.com')
|
|
8
|
+
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
|
9
|
+
p.rubyforge_name = p.name # TODO this is default value
|
|
10
|
+
# p.extra_deps = [
|
|
11
|
+
# ['activesupport','>= 2.0.2'],
|
|
12
|
+
# ]
|
|
13
|
+
p.extra_dev_deps = [
|
|
14
|
+
['newgem', ">= #{::Newgem::VERSION}"]
|
|
15
|
+
]
|
|
16
|
+
|
|
17
|
+
p.clean_globs |= %w[**/.DS_Store tmp *.log]
|
|
18
|
+
path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
|
|
19
|
+
p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
|
|
20
|
+
p.rsync_args = '-av --delete --ignore-errors'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
require 'newgem/tasks' # load /tasks/*.rake
|
|
24
|
+
Dir['tasks/**/*.rake'].each { |t| load t }
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# TODO - want other tests/tasks run by default? Add them to the list
|
|
29
|
+
task :default => [:spec, :features]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Feature: Amee can be configured
|
|
2
|
+
|
|
3
|
+
As a ruby developer
|
|
4
|
+
I want to set an Amee config
|
|
5
|
+
So that so Amee can run under a certain configurations
|
|
6
|
+
|
|
7
|
+
Scenario: defaults should be available if no config has been set
|
|
8
|
+
When I do not create a config
|
|
9
|
+
|
|
10
|
+
Then the amee config: "server" should be: "stage.amee.com"
|
|
11
|
+
And the amee config: "cache_store" should be: "Moneta::Memory"
|
|
12
|
+
And the amee config: "cache" should be: "true"
|
|
13
|
+
|
|
14
|
+
Scenario: server should be changed if I set a config with new server
|
|
15
|
+
When I set the: "server" on the amee config with: "prod.amee.com"
|
|
16
|
+
|
|
17
|
+
Then the amee config: "server" should be: "prod.amee.com"
|
|
18
|
+
And the amee config: "cache_store" should be: "Moneta::Memory"
|
|
19
|
+
And the amee config: "cache" should be: "true"
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Feature: Get Amee Category
|
|
2
|
+
In order to gain access to data information
|
|
3
|
+
As a amee developer
|
|
4
|
+
I want to be able to get amee categories
|
|
5
|
+
|
|
6
|
+
Scenario: Get Amee category with path /data
|
|
7
|
+
Given I have a valid amee session
|
|
8
|
+
When I ask the session for: get_data_category with path: "/data"
|
|
9
|
+
|
|
10
|
+
Then the data category should have: "path" with: ""
|
|
11
|
+
And the data category should have: "name" with: "Root"
|
|
12
|
+
And the data category should have: "uid" with: "CD310BEBAC52"
|
|
13
|
+
And the data category's data_items should be nil
|
|
14
|
+
And the data category's data_categories should not be nil
|
|
15
|
+
|
|
16
|
+
Scenario: Get Amee category with path /data/transport/plane/generic
|
|
17
|
+
Given I have a valid amee session
|
|
18
|
+
When I ask the session for: get_data_category with path: "/data/transport/plane/generic"
|
|
19
|
+
|
|
20
|
+
Then the data category should have: "path" with: "generic"
|
|
21
|
+
And the data category should have: "resource_path" with: "/transport/plane/generic"
|
|
22
|
+
And the data category should have: "name" with: "Generic"
|
|
23
|
+
And the data category should have: "uid" with: "FBA97B70DBDF"
|
|
24
|
+
|
|
25
|
+
And the data category's data_items should not be empty
|
|
26
|
+
And the data category's data_categories should not be empty
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
Feature: Get Amee DataItem
|
|
2
|
+
In order to gain access to data_item information so I can make loads of money from making
|
|
3
|
+
In order carbon calculators
|
|
4
|
+
As a amee developer
|
|
5
|
+
I want to be able to get amee data items
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Scenario: Get Amee Date Item with path /data/transport/plane/generic/FFC7A05D54AD
|
|
9
|
+
Given I have a valid amee session
|
|
10
|
+
When I ask the session for: get_data_item with path: "/data/transport/plane/generic/FFC7A05D54AD"
|
|
11
|
+
|
|
12
|
+
Then the data item should have: "path" with: ""
|
|
13
|
+
And the data item should have: "name" with: "FFC7A05D54AD"
|
|
14
|
+
And the data item should have: "uid" with: "FFC7A05D54AD"
|
|
15
|
+
And the data item's item_values should not be nil
|
|
16
|
+
And the data item's choices should not be nil
|
|
17
|
+
|
|
18
|
+
And the data item's item_definition: drill_down should be "type,size"
|
|
19
|
+
And the data item's item_definition: name should be "Plane Generic"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Feature: Get Amee DataItemValue
|
|
2
|
+
In order to gain access to data_item_value information so I can make loads of money from making
|
|
3
|
+
In order carbon calculators
|
|
4
|
+
As a amee developer
|
|
5
|
+
I want to be able to get amee data item value
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Scenario: Get Amee Date Item with path /data/transport/plane/generic/FFC7A05D54AD/kgCO2PerPassengerJourney
|
|
9
|
+
Given I have a valid amee session
|
|
10
|
+
When I ask the session for: get_data_item_value with path: "/data/transport/plane/generic/FFC7A05D54AD/kgCO2PerPassengerJourney"
|
|
11
|
+
|
|
12
|
+
Then the data item value should have: "path" with: "kgCO2PerPassengerJourney"
|
|
13
|
+
And the data item value should have: "name" with: "kgCO2 Per Passenger Journey"
|
|
14
|
+
And the data item value should have: "uid" with: "C32B6E2EDCB0"
|
|
15
|
+
|
|
16
|
+
And the data item value's item_value_definition: uid should be "653828811D42"
|
|
17
|
+
And the data item value's item_value_definition: name should be "kgCO2 Per Passenger Journey"
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
Feature: Get Amee Drill Down
|
|
2
|
+
In order to gain the correct access to a data item
|
|
3
|
+
As a amee developer
|
|
4
|
+
I want to be able to get amee drill down
|
|
5
|
+
|
|
6
|
+
Scenario: get a drill down for data_category with path /data/transport/car/generic
|
|
7
|
+
Given I have a valid amee session
|
|
8
|
+
|
|
9
|
+
When I ask the session for: get_data_category with path: "/data/transport/car/generic"
|
|
10
|
+
And I drill down with params: ""
|
|
11
|
+
|
|
12
|
+
Then the drill down should have: "choice_name" with: "fuel"
|
|
13
|
+
And the drill down's choices should not be empty
|
|
14
|
+
And the drill down's selections should be empty
|
|
15
|
+
And the drill down data category's should have: "uid" with: "87E55DA88017"
|
|
16
|
+
And the drill down data category's should have: "name" with: "Generic"
|
|
17
|
+
And the drill down data category's should have: "path" with: "generic"
|
|
18
|
+
|
|
19
|
+
Scenario: get a drill down for data_category with path /data/transport/car/generic
|
|
20
|
+
Given I have a valid amee session
|
|
21
|
+
|
|
22
|
+
When I ask the session for: get_data_category with path: "/data/transport/car/generic"
|
|
23
|
+
And I drill down with params: "?fuel=diesel"
|
|
24
|
+
|
|
25
|
+
Then the drill down should have: "choice_name" with: "size"
|
|
26
|
+
And the drill down's choices should not be empty
|
|
27
|
+
And the drill down's selections should not be empty
|
|
28
|
+
And the drill down data category's should have: "uid" with: "87E55DA88017"
|
|
29
|
+
And the drill down data category's should have: "name" with: "Generic"
|
|
30
|
+
And the drill down data category's should have: "path" with: "generic"
|
|
31
|
+
|
|
32
|
+
Scenario: get a drill down for data_category with path /data/transport/car/generic
|
|
33
|
+
Given I have a valid amee session
|
|
34
|
+
|
|
35
|
+
When I ask the session for: get_data_category with path: "/data/transport/car/generic"
|
|
36
|
+
And I drill down with params: "?fuel=diesel&size=large"
|
|
37
|
+
|
|
38
|
+
Then the drill down should have: "choice_name" with: "uid"
|
|
39
|
+
And the drill down should have: "data_item_uid" with: "4F6CBCEE95F7"
|
|
40
|
+
And the drill down should be uid_found
|
|
41
|
+
And the drill down's choices should not be empty
|
|
42
|
+
And the drill down's selections should not be empty
|
|
43
|
+
And the drill down data category's should have: "uid" with: "87E55DA88017"
|
|
44
|
+
And the drill down data category's should have: "name" with: "Generic"
|
|
45
|
+
And the drill down data category's should have: "path" with: "generic"
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Feature: Development processes of newgem itself (rake tasks)
|
|
2
|
+
|
|
3
|
+
As a Newgem maintainer or contributor
|
|
4
|
+
I want rake tasks to maintain and release the gem
|
|
5
|
+
So that I can spend time on the tests and code, and not excessive time on maintenance processes
|
|
6
|
+
|
|
7
|
+
Scenario: Generate RubyGem
|
|
8
|
+
Given this project is active project folder
|
|
9
|
+
And 'pkg' folder is deleted
|
|
10
|
+
When task 'rake gem' is invoked
|
|
11
|
+
Then folder 'pkg' is created
|
|
12
|
+
And file with name matching 'pkg/*.gem' is created else you should run "rake manifest" to fix this
|
|
13
|
+
And gem spec key 'rdoc_options' contains /--mainREADME.rdoc/
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Feature: Creating a Profile
|
|
2
|
+
In order to keep a container for an object | user for calculating co2 emissions
|
|
3
|
+
As a amee developer
|
|
4
|
+
I want to be alble to create a profile
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Scenario: Create a amee profile
|
|
8
|
+
Given I have a valid amee session
|
|
9
|
+
When I create an amee profile
|
|
10
|
+
Then I should have a valid amee profile
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Feature: Create Amee Profile Item
|
|
2
|
+
In order to add co2 data that then can be used to calculate cos2 emission
|
|
3
|
+
As a amee developer
|
|
4
|
+
I want to be able to be albe to create profile data items
|
|
5
|
+
|
|
6
|
+
Scenario: Create Amee profile item with path /profiles/48B97680BCCF/home/energy/quantity
|
|
7
|
+
Given I have a valid amee session
|
|
8
|
+
|
|
9
|
+
# representation=full&energyConsumption=10&energyConsumptionUnit=kWh&dataItemUid=66056991EE23&energyConsumptionPerUnit=month&name=representation
|
|
10
|
+
When I create a profile item with uid: "48B97680BEGG" the path: "/profiles/48B97680BCCF/home/energy/quantity"
|
|
11
|
+
|
|
12
|
+
Then the location of the new should be: "whatever"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Feature: Deleting a Profile
|
|
2
|
+
In order to make sure we can delete stale data
|
|
3
|
+
As a amee developer
|
|
4
|
+
I want to be able to delete a profile
|
|
5
|
+
|
|
6
|
+
Scenario: Delete an amee profile
|
|
7
|
+
Given I have a valid amee session
|
|
8
|
+
When I create an amee profile
|
|
9
|
+
When I delete that amme profile
|
|
10
|
+
|
|
11
|
+
Then the profile should no longer exist
|
|
12
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Feature: Deleting a Profile Item
|
|
2
|
+
In order to make sure we can delete stale profile items
|
|
3
|
+
As a amee developer
|
|
4
|
+
I want to be able to delete a profile item
|
|
5
|
+
|
|
6
|
+
Scenario: Delete an amee profile
|
|
7
|
+
Given I have a valid amee session
|
|
8
|
+
And I profile exists with path "/profiles/155DD3C63646/transport/motorcycle/generic/D47C465B8157"
|
|
9
|
+
|
|
10
|
+
When I delete the profile item
|
|
11
|
+
|
|
12
|
+
Then the profile item should no longer exist
|
|
13
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
Feature: Get Amee Profiles
|
|
2
|
+
In order to gain access to profile information
|
|
3
|
+
As a amee developer
|
|
4
|
+
I want to be able to get an amee profile
|
|
5
|
+
|
|
6
|
+
Scenario: Get Amee profile
|
|
7
|
+
Given I have a valid amee session
|
|
8
|
+
When I ask the session for: profile with: "E0BCB3704D15"
|
|
9
|
+
|
|
10
|
+
Then the amee profile should have: "uid" with: "E0BCB3704D15"
|
|
11
|
+
And the amee profile should have: "name" with: "E0BCB3704D15"
|
|
12
|
+
And the amee profile should have: "path" with: "E0BCB3704D15"
|
|
13
|
+
And the amee profile profile_categories should not be empty
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Feature: Get Amee Profile Category
|
|
2
|
+
In order to gain access to profile data category information
|
|
3
|
+
As a amee developer
|
|
4
|
+
I want to be able to get profile data categories
|
|
5
|
+
|
|
6
|
+
Scenario: Get Amee profile category with path /profiles/E0BCB3704D15/Business
|
|
7
|
+
Given I have a valid amee session
|
|
8
|
+
When I ask the session for: get_profile_category with path: "/profiles/E0BCB3704D15/business"
|
|
9
|
+
|
|
10
|
+
Then the profile category should have: "total_amount_per_month" with: "0"
|
|
11
|
+
And the profile category should have: "resource_path" with: "/business"
|
|
12
|
+
And the profile category's profile_items should not be nil
|
|
13
|
+
And the profile category's profile_categories should not be nil
|
|
14
|
+
And the profile category's data_category should not be nil
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Feature: Getting Amee Profile Item
|
|
2
|
+
In order to gain access to profile item information which means we can keep
|
|
3
|
+
In order co2 histroy and calcuations and profit big time
|
|
4
|
+
As a amee developer
|
|
5
|
+
I want to be able to get profile items
|
|
6
|
+
|
|
7
|
+
Scenario: Get Amee profile item with path /profiles/BB1BDB4FDD77/home/energy/quantity/920B54ED665B
|
|
8
|
+
Given I have a valid amee session
|
|
9
|
+
When I ask the session for: get_profile_item with path: "/profiles/BB1BDB4FDD77/home/energy/quantity/920B54ED665B"
|
|
10
|
+
|
|
11
|
+
Then the profile item should have: "amount_per_month" with: "2.055"
|
|
12
|
+
And the profile item should have: "resource_path" with: "/home/energy/quantity/920B54ED665B"
|
|
13
|
+
And the profile item should have: "valid_from" with: "20090301"
|
|
14
|
+
And the profile item should have: "end" with: "false"
|
|
15
|
+
And the profile item's item_values should not be nil
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Feature: Get Amee Profiles
|
|
2
|
+
In order to gain access to profile information
|
|
3
|
+
As a amee developer
|
|
4
|
+
I want to be able to get amee profiles
|
|
5
|
+
|
|
6
|
+
Scenario: Get Amee profiles
|
|
7
|
+
Given I have a valid amee session
|
|
8
|
+
When I ask the session for: profiles
|
|
9
|
+
Then there should be an amee profile with the uid of "B28A58B0E243"
|
|
10
|
+
And each amee profile should have a path, name, created, modified and uid
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|