360_services 0.0.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.
- data/360_services.gemspec +42 -0
- data/Manifest +48 -0
- data/Rakefile +30 -0
- data/fakeweb_cache +6650 -0
- data/features/manage_accounts.feature +32 -0
- data/features/manage_assets.feature +58 -0
- data/features/manage_categories.feature +87 -0
- data/features/manage_flags.feature +44 -0
- data/features/manage_group_assets.feature +33 -0
- data/features/manage_groups.feature +29 -0
- data/features/manage_metadata.feature +28 -0
- data/features/manage_metrics.feature +22 -0
- data/features/manage_sites.feature +17 -0
- data/features/manage_tags.feature +37 -0
- data/features/mange_rate_plan.feature +9 -0
- data/features/step_definitions/manage_accounts_steps.rb +19 -0
- data/features/step_definitions/manage_assets_steps.rb +62 -0
- data/features/step_definitions/manage_categories_steps.rb +56 -0
- data/features/step_definitions/manage_flags_steps.rb +19 -0
- data/features/step_definitions/manage_group_assets_steps.rb +15 -0
- data/features/step_definitions/manage_groups_steps.rb +27 -0
- data/features/step_definitions/manage_metadata_steps.rb +29 -0
- data/features/step_definitions/manage_metrics_steps.rb +15 -0
- data/features/step_definitions/manage_sites_steps.rb +15 -0
- data/features/step_definitions/manage_tags_steps.rb +23 -0
- data/features/step_definitions/mange_rate_plan_steps.rb +3 -0
- data/features/step_definitions/utility_steps.rb +33 -0
- data/features/step_definitions/web_steps.rb +259 -0
- data/features/support/document_steps.rb +46 -0
- data/features/support/env.rb +13 -0
- data/features/support/netrecorder.rb +20 -0
- data/features/support/paths.rb +27 -0
- data/lib/sorenson/services/account.rb +50 -0
- data/lib/sorenson/services/array.rb +5 -0
- data/lib/sorenson/services/asset.rb +155 -0
- data/lib/sorenson/services/base.rb +71 -0
- data/lib/sorenson/services/category.rb +52 -0
- data/lib/sorenson/services/core_ext/attribute_accessors.rb +40 -0
- data/lib/sorenson/services/core_ext/hash.rb +9 -0
- data/lib/sorenson/services/core_ext/object.rb +16 -0
- data/lib/sorenson/services/core_ext.rb +3 -0
- data/lib/sorenson/services/event.rb +28 -0
- data/lib/sorenson/services/flag.rb +14 -0
- data/lib/sorenson/services/group.rb +41 -0
- data/lib/sorenson/services/metric.rb +21 -0
- data/lib/sorenson/services/rate_plan.rb +30 -0
- data/lib/sorenson/services/site.rb +25 -0
- data/lib/sorenson/services/tag.rb +17 -0
- data/lib/sorenson/services.rb +18 -0
- metadata +161 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
Feature: Manage accounts through the api
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
Scenario: Login to Sorenson 360 Account
|
7
|
+
Given I am logged in with "integrum@integrumtech.com" and "integrum"
|
8
|
+
Then the account attribute "id" should be "db786013-c786-4511-8a0d-73f1bacc2285"
|
9
|
+
|
10
|
+
Scenario: Get an account
|
11
|
+
Given I am logged in
|
12
|
+
And I get an account
|
13
|
+
Then the account attribute "status" should be "Live"
|
14
|
+
|
15
|
+
# Scenario: Change password
|
16
|
+
# Given I am logged in with "integrum@integrumtech.com" and "newpass"
|
17
|
+
# When I change my password to "integrum"
|
18
|
+
# Then I should be able to log in with "integrum@integrumtech.com" and "integrum"
|
19
|
+
# When I change my password to "newpass"
|
20
|
+
# Then I should be able to log in with "integrum@integrumtech.com" and "newpass"
|
21
|
+
|
22
|
+
@wip
|
23
|
+
Scenario: Empty trash
|
24
|
+
Given I am logged in
|
25
|
+
And I get an account
|
26
|
+
And I create an asset
|
27
|
+
And I delete the asset
|
28
|
+
When I empty the trash
|
29
|
+
Given I get all assets
|
30
|
+
Then the asset list should not include the asset
|
31
|
+
|
32
|
+
|
@@ -0,0 +1,58 @@
|
|
1
|
+
Feature: Manage Assets
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
Scenario: Get a list of asset guids by passing a tag name
|
7
|
+
Given I am logged in
|
8
|
+
And I get all assets
|
9
|
+
Then the assets list should contain "e036f43c-2a9f-407f-bc26-19af2b89d222"
|
10
|
+
|
11
|
+
Scenario: Get asset
|
12
|
+
Given I am logged in
|
13
|
+
And I get the first asset
|
14
|
+
Then the asset attribute "name" should be "capture-4851742166757112347.mp4"
|
15
|
+
|
16
|
+
Scenario: Get asset count
|
17
|
+
Given I am logged in
|
18
|
+
Then the asset count should be "14"
|
19
|
+
|
20
|
+
Scenario: Get asset presets
|
21
|
+
Given I am logged in
|
22
|
+
And I get the first asset
|
23
|
+
Then the preset xml should contain "MP4-squish-007.xss"
|
24
|
+
|
25
|
+
Scenario: Activate and Deactivate
|
26
|
+
Given I am logged in
|
27
|
+
And I get the asset with id "e036f43c-2a9f-407f-bc26-19af2b89d222"
|
28
|
+
When I deactivate the asset
|
29
|
+
And I get all assets
|
30
|
+
Then the assets list should not contain the asset id
|
31
|
+
When I activate the asset
|
32
|
+
And I get all assets
|
33
|
+
Then the assets list should contain the asset id
|
34
|
+
|
35
|
+
Scenario: Delete an asset
|
36
|
+
Given I am logged in
|
37
|
+
And I get the asset with id "e036f43c-2a9f-407f-bc26-19af2b89d222"
|
38
|
+
When I delete the asset
|
39
|
+
And I get all assets
|
40
|
+
Then the assets list should not contain the asset id
|
41
|
+
When I undelete the asset
|
42
|
+
And I get all assets
|
43
|
+
Then the assets list should contain the asset id
|
44
|
+
|
45
|
+
Scenario: Save an asset
|
46
|
+
Given I am logged in
|
47
|
+
And I get the first asset
|
48
|
+
When I change the asset attribute "description" to "new description"
|
49
|
+
And I save the asset
|
50
|
+
And I reload the asset
|
51
|
+
Then the asset attribute "description" should be "new description"
|
52
|
+
Then I change the asset attribute "description" to "description"
|
53
|
+
And I save the asset
|
54
|
+
|
55
|
+
Scenario: Get asset embed codes
|
56
|
+
Given I am logged in
|
57
|
+
And I get the first asset
|
58
|
+
Then the asset embed codes should contain "flash_media_loader.swf"
|
@@ -0,0 +1,87 @@
|
|
1
|
+
Feature: Manage categories
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
Scenario: Add a category to an asset
|
7
|
+
Given I am logged in
|
8
|
+
And I get the first asset
|
9
|
+
And I assign the category "new category" to the asset
|
10
|
+
Then the category attribute "name" should be "new category"
|
11
|
+
|
12
|
+
Scenario: Remove a category from an asset
|
13
|
+
Given I am logged in
|
14
|
+
And I get the first asset
|
15
|
+
And I assign the category "new category" to the asset
|
16
|
+
And I remove the category from the asset
|
17
|
+
Then the asset should not have a category
|
18
|
+
|
19
|
+
Scenario: See the asset category
|
20
|
+
Given I am logged in
|
21
|
+
And I get the first asset
|
22
|
+
And I assign the category "asset category" to the asset
|
23
|
+
When I get the category
|
24
|
+
Then the category attribute "name" should be "asset category"
|
25
|
+
|
26
|
+
Scenario: See all categories
|
27
|
+
Given I am logged in
|
28
|
+
When I create a category named "category1"
|
29
|
+
And I get all categories
|
30
|
+
Then the categories list should contain "category1"
|
31
|
+
|
32
|
+
Scenario: Find a category
|
33
|
+
Given I am logged in
|
34
|
+
When I create a category named "category1"
|
35
|
+
And I find the category named "category1"
|
36
|
+
Then the category attribute "name" should be "category1"
|
37
|
+
|
38
|
+
Scenario: Create a category
|
39
|
+
Given I am logged in
|
40
|
+
When I create a category named "category1"
|
41
|
+
Then the category attribute "name" should be "category1"
|
42
|
+
|
43
|
+
Scenario: Save a category
|
44
|
+
Given I am logged in
|
45
|
+
When I create a category named "category1"
|
46
|
+
And I change the category attribute "description" to "moocow"
|
47
|
+
And I save the category
|
48
|
+
When I find the category named "category1"
|
49
|
+
Then the category attribute "description" should be "moocow"
|
50
|
+
|
51
|
+
Scenario: Add a sub category
|
52
|
+
Given I am logged in
|
53
|
+
When I create a category named "category1"
|
54
|
+
And I create a category named "child of category 1"
|
55
|
+
And I change the category attribute "parent" to "category1"
|
56
|
+
And I save the category
|
57
|
+
When I find the category named "child of category 1"
|
58
|
+
Then the parent of the category should be "category1"
|
59
|
+
|
60
|
+
Scenario: Delete a category
|
61
|
+
Given I am logged in
|
62
|
+
And I create a category named "category1"
|
63
|
+
And I get all categories
|
64
|
+
Then the categories list should contain "category1"
|
65
|
+
When I delete the category
|
66
|
+
And I get all categories
|
67
|
+
Then the categories list should not contain "category1"
|
68
|
+
|
69
|
+
Scenario: See all assets belonging to a category
|
70
|
+
Given I am logged in
|
71
|
+
And I get the first asset
|
72
|
+
And I assign the category "my category" to the asset
|
73
|
+
And I find the category named "my category"
|
74
|
+
When I get the category assets
|
75
|
+
Then the assets list should contain the asset
|
76
|
+
|
77
|
+
Scenario: List root categories
|
78
|
+
Given I am logged in
|
79
|
+
And I create a category named "cat1"
|
80
|
+
And I create a category named "cat1 child"
|
81
|
+
And I change the category attribute "parent" to "cat1"
|
82
|
+
And I save the category
|
83
|
+
And I get the root categories
|
84
|
+
Then the categories list should contain "cat1"
|
85
|
+
And the categories list should not contain "cat1 child"
|
86
|
+
|
87
|
+
|
@@ -0,0 +1,44 @@
|
|
1
|
+
Feature: Manage Flags
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
Scenario: List all flags
|
7
|
+
Given I am logged in
|
8
|
+
When I get the first asset
|
9
|
+
And I assign the flags "red blue green" to the asset
|
10
|
+
When I get all flags
|
11
|
+
Then the flags list should contain "red"
|
12
|
+
|
13
|
+
Scenario: List flagged assets
|
14
|
+
Given I am logged in
|
15
|
+
When I get the first asset
|
16
|
+
And I assign the flags "red blue green" to the asset
|
17
|
+
When I get all flags
|
18
|
+
Then the flags list should contain "red"
|
19
|
+
|
20
|
+
Scenario: Count flags
|
21
|
+
Given I am logged in
|
22
|
+
Then the flag count should be 4
|
23
|
+
|
24
|
+
Scenario: Add flags to asset
|
25
|
+
Given I am logged in
|
26
|
+
And I get the first asset
|
27
|
+
And I assign the flags "red blue green" to the asset
|
28
|
+
Then the flags list should contain "red"
|
29
|
+
Then the flags list should contain "blue"
|
30
|
+
Then the flags list should contain "green"
|
31
|
+
|
32
|
+
Scenario: Find all assets by flag
|
33
|
+
Given I am logged in
|
34
|
+
And I get the first asset
|
35
|
+
And I assign the flag "red" to the asset
|
36
|
+
And I find all assets with the flag "red"
|
37
|
+
Then the assets list should contain "c67f1fdb-8199-4b5c-921f-d864cf2d903f"
|
38
|
+
|
39
|
+
Scenario: Get asset flags
|
40
|
+
Given I am logged in
|
41
|
+
And I get the first asset
|
42
|
+
And I assign the flag "pear" to the asset
|
43
|
+
And I get the flags for the asset
|
44
|
+
Then the flags list should contain "pear"
|
@@ -0,0 +1,33 @@
|
|
1
|
+
Feature: Manage group assets
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given I am logged in
|
8
|
+
And I get the first asset
|
9
|
+
And I find the group with the name "my group"
|
10
|
+
Then I delete the group if it was found
|
11
|
+
|
12
|
+
Scenario: Add an asset to a group
|
13
|
+
And I create a group named "my group"
|
14
|
+
When I add the asset to the group
|
15
|
+
And I reload the group
|
16
|
+
Then the asset should be in the group
|
17
|
+
|
18
|
+
Scenario: Get the asset groups
|
19
|
+
And I create a group named "my group"
|
20
|
+
And I add the asset to the group
|
21
|
+
When I reload the asset
|
22
|
+
Then the asset should have the group
|
23
|
+
|
24
|
+
Scenario: Get group assets
|
25
|
+
Given I am logged in
|
26
|
+
And I get the first asset
|
27
|
+
And I create a group named "my group"
|
28
|
+
And I add the asset to the group
|
29
|
+
And I reload the group
|
30
|
+
Then the group should have the asset
|
31
|
+
|
32
|
+
|
33
|
+
|
@@ -0,0 +1,29 @@
|
|
1
|
+
Feature: Manage groups
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
Background:
|
7
|
+
Given I am logged in
|
8
|
+
And I find the group with the name "my group"
|
9
|
+
Then I delete the group if it was found
|
10
|
+
|
11
|
+
Scenario: Create a group
|
12
|
+
When I create a group named "my group"
|
13
|
+
Then the group attribute "name" should be "my group"
|
14
|
+
|
15
|
+
Scenario: Find a group by id
|
16
|
+
When I create a group named "my group"
|
17
|
+
Then I should be able to find the group
|
18
|
+
|
19
|
+
Scenario: Get all groups
|
20
|
+
And I create a group named "my group"
|
21
|
+
And I get all groups
|
22
|
+
Then the groups list should contain the group id
|
23
|
+
|
24
|
+
Scenario: Delete a group
|
25
|
+
When I create a group named "delete me"
|
26
|
+
And I reload the group
|
27
|
+
And I delete the group
|
28
|
+
And I get all groups
|
29
|
+
Then the groups list should not contain the group id
|
@@ -0,0 +1,28 @@
|
|
1
|
+
Feature: Manage Metadata
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
Scenario: Add metadata to asset and find it
|
7
|
+
Given I am logged in
|
8
|
+
And I get the first asset
|
9
|
+
And I add the metadata "key" with the value "value" to the asset
|
10
|
+
When I reload the asset
|
11
|
+
Then the asset metadata value for "key" should be "value"
|
12
|
+
|
13
|
+
Scenario: Delete metadata
|
14
|
+
Given I am logged in
|
15
|
+
And I get the first asset
|
16
|
+
And I add the metadata "key" with the value "value" to the asset
|
17
|
+
When I delete the metadata key "key"
|
18
|
+
And I reload the asset
|
19
|
+
Then the asset should not have a metadata value for "key"
|
20
|
+
|
21
|
+
Scenario: Get all metadata
|
22
|
+
Given I am logged in
|
23
|
+
And I get the first asset
|
24
|
+
And I add the metadata "color" with the value "blue" to the asset
|
25
|
+
And I add the metadata "size" with the value "medium" to the asset
|
26
|
+
And I get all the metadata for the asset
|
27
|
+
Then the metadata for the asset should contain "color=blue"
|
28
|
+
And the metadata for the asset should contain "size=medium"
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Feature: Manage Metrics
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
Scenario: See Total Plays
|
7
|
+
Given I am logged in
|
8
|
+
Then the total plays should be "12"
|
9
|
+
|
10
|
+
Scenario: See Storage Used
|
11
|
+
Given I am logged in
|
12
|
+
Then the storage used should be "-12290471.0"
|
13
|
+
|
14
|
+
Scenario: See all metrics
|
15
|
+
Given I am logged in
|
16
|
+
And I get all metrics
|
17
|
+
Then the events list should contain an event with a day of "2009-12-17"
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Feature: Manage Sites
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
Scenario: Create a site and view list
|
7
|
+
Given I am logged in
|
8
|
+
When I create a new site with the name "new site name" and the description "new site description"
|
9
|
+
And I get all sites
|
10
|
+
Then the sites list should contain "new site name"
|
11
|
+
|
12
|
+
Scenario: Get a site by name
|
13
|
+
Given I am logged in
|
14
|
+
When I create a new site with the name "new site name" and the description "new site description"
|
15
|
+
And I get the site named "new site name"
|
16
|
+
Then the site attribute "id" should be "b4b866a0-d7d8-012c-1ba4-00254b9d9628"
|
17
|
+
|
@@ -0,0 +1,37 @@
|
|
1
|
+
Feature: Manage Tags
|
2
|
+
In order to value
|
3
|
+
As a role
|
4
|
+
I want feature
|
5
|
+
|
6
|
+
Scenario: Add tags to asset
|
7
|
+
Given I am logged in
|
8
|
+
And I get the first asset
|
9
|
+
And I assign the tags "apple orange pear" to the asset
|
10
|
+
Then the tags list should contain "apple"
|
11
|
+
Then the tags list should contain "orange"
|
12
|
+
Then the tags list should contain "pear"
|
13
|
+
|
14
|
+
Scenario: Find all assets by tag
|
15
|
+
Given I am logged in
|
16
|
+
And I get the first asset
|
17
|
+
And I assign the tag "apple" to the asset
|
18
|
+
And I find all assets with the tag "apple"
|
19
|
+
Then the assets list should contain the asset
|
20
|
+
|
21
|
+
Scenario: Get asset tags
|
22
|
+
Given I am logged in
|
23
|
+
And I get the first asset
|
24
|
+
And I assign the tag "red" to the asset
|
25
|
+
And I get the tags for the asset
|
26
|
+
Then the tags list should contain "red"
|
27
|
+
|
28
|
+
Scenario: Get tag count
|
29
|
+
Given I am logged in
|
30
|
+
Then the tag count should be "7"
|
31
|
+
|
32
|
+
Scenario: Get all tags
|
33
|
+
Given I am logged in
|
34
|
+
And I get the first asset
|
35
|
+
And I assign the tag "apple" to the asset
|
36
|
+
And I get all tags
|
37
|
+
Then the tags list should contain "apple"
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Given /^I (?:am logged|should be able to log) in with "([^\"]*)" and "([^\"]*)"$/ do |arg1, arg2|
|
2
|
+
@account = Sorenson::Services::Account.login(arg1, arg2)
|
3
|
+
end
|
4
|
+
|
5
|
+
Given "I am logged in" do
|
6
|
+
@account = Sorenson::Services::Account.login("integrum@integrumtech.com", "integrum")
|
7
|
+
end
|
8
|
+
|
9
|
+
And /^I get an account$/ do
|
10
|
+
@account = Sorenson::Services::Account.get_account
|
11
|
+
end
|
12
|
+
|
13
|
+
When /^I change my password to "([^\"]*)"$/ do |arg1|
|
14
|
+
@account.set_password(arg1, 'anything')
|
15
|
+
end
|
16
|
+
|
17
|
+
When /^I empty the trash$/ do
|
18
|
+
@account.empty_trash
|
19
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
When "I get all assets" do
|
2
|
+
@assets = Sorenson::Services::Asset.all
|
3
|
+
end
|
4
|
+
|
5
|
+
And /^I get the asset with id "([^\"]*)"$/ do |arg1|
|
6
|
+
@asset = Sorenson::Services::Asset.find(arg1)
|
7
|
+
end
|
8
|
+
|
9
|
+
And "I get the first asset" do
|
10
|
+
@asset = Sorenson::Services::Asset.find(Sorenson::Services::Asset.all.first)
|
11
|
+
@asset.should_not be_nil
|
12
|
+
end
|
13
|
+
|
14
|
+
Then /^the asset count should be "([^\"]*)"$/ do |arg1|
|
15
|
+
Sorenson::Services::Asset.count.should == arg1.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
And /^I create an asset$/ do
|
19
|
+
pending # express the regexp above with the code you wish you had
|
20
|
+
end
|
21
|
+
|
22
|
+
And /^I delete the asset$/ do
|
23
|
+
@asset.destroy
|
24
|
+
end
|
25
|
+
|
26
|
+
Then /^the asset list should not include the asset$/ do
|
27
|
+
pending # express the regexp above with the code you wish you had
|
28
|
+
end
|
29
|
+
|
30
|
+
Then /^the preset xml should contain "([^\"]*)"$/ do |arg1|
|
31
|
+
@asset.preset_xml.should include(arg1)
|
32
|
+
end
|
33
|
+
|
34
|
+
When /^I deactivate the asset$/ do
|
35
|
+
@asset.deactivate
|
36
|
+
end
|
37
|
+
|
38
|
+
When /^I activate the asset$/ do
|
39
|
+
@asset.activate
|
40
|
+
end
|
41
|
+
|
42
|
+
When /^I undelete the asset$/ do
|
43
|
+
@asset.activate
|
44
|
+
end
|
45
|
+
|
46
|
+
When /^I save the asset$/ do
|
47
|
+
@asset.save
|
48
|
+
end
|
49
|
+
|
50
|
+
When /^I reload the asset$/ do
|
51
|
+
@asset = Sorenson::Services::Asset.find(@asset.id)
|
52
|
+
end
|
53
|
+
|
54
|
+
Then /^I get the embed codes$/ do
|
55
|
+
@embed_codes = @asset.embed_codes
|
56
|
+
end
|
57
|
+
|
58
|
+
Then /^the asset embed codes should contain "([^\"]*)"$/ do |value|
|
59
|
+
@asset.embed_codes.each do |embed_code|
|
60
|
+
embed_code.should include(value)
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
When /^I get the category$/ do
|
2
|
+
@category = @asset.category
|
3
|
+
end
|
4
|
+
|
5
|
+
When /^I assign the category "([^\"]*)" to the asset$/ do |name|
|
6
|
+
@category = @asset.add_category(name)
|
7
|
+
end
|
8
|
+
|
9
|
+
When /^I remove the category from the asset$/ do
|
10
|
+
@asset.remove_category
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^the asset should not have a category$/ do
|
14
|
+
@asset.category.should be_nil
|
15
|
+
end
|
16
|
+
|
17
|
+
Then /^the asset category should be "([^\"]*)"$/ do |arg1|
|
18
|
+
@asset.category.should == arg1
|
19
|
+
end
|
20
|
+
|
21
|
+
When /^I create a category named "([^\"]*)"$/ do |name|
|
22
|
+
@category = Sorenson::Services::Category.create(name)
|
23
|
+
end
|
24
|
+
|
25
|
+
And /^I get all categories$/ do
|
26
|
+
@categories = Sorenson::Services::Category.all
|
27
|
+
end
|
28
|
+
|
29
|
+
When /^I find the category named "([^\"]*)"$/ do |name|
|
30
|
+
@category = Sorenson::Services::Category.find_by_name(name)
|
31
|
+
@category.should_not be_nil
|
32
|
+
end
|
33
|
+
|
34
|
+
And /^I save the category$/ do
|
35
|
+
@category.save
|
36
|
+
end
|
37
|
+
|
38
|
+
Then /^the parent of the category should be "([^\"]*)"$/ do |name|
|
39
|
+
@category.parent.should == name
|
40
|
+
end
|
41
|
+
|
42
|
+
When /^I delete the category$/ do
|
43
|
+
@category.destroy
|
44
|
+
end
|
45
|
+
|
46
|
+
When /^I get the category assets$/ do
|
47
|
+
@assets = @category.assets
|
48
|
+
end
|
49
|
+
|
50
|
+
Then /^the assets list should contain the asset$/ do
|
51
|
+
@assets.should include(@asset.id)
|
52
|
+
end
|
53
|
+
|
54
|
+
And /^I get the root categories$/ do
|
55
|
+
@categories = Sorenson::Services::Category.all_roots
|
56
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
When /^I get all flags$/ do
|
2
|
+
@flags = Sorenson::Services::Flag.all
|
3
|
+
end
|
4
|
+
|
5
|
+
Then /^the flag count should be ([^\"]*)$/ do |count|
|
6
|
+
Sorenson::Services::Flag.count.should == count.to_i
|
7
|
+
end
|
8
|
+
|
9
|
+
And /^I assign the (?:flag|flags) "([^\"]*)" to the asset$/ do |arg1|
|
10
|
+
@flags = @asset.add_flags(arg1)
|
11
|
+
end
|
12
|
+
|
13
|
+
And /^I find all assets with the flag "([^\"]*)"$/ do |arg1|
|
14
|
+
@assets = Sorenson::Services::Asset.find_all_by_flag(arg1)
|
15
|
+
end
|
16
|
+
|
17
|
+
And /^I get the flags for the asset$/ do
|
18
|
+
@tags = @asset.flags
|
19
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
When /^I add the asset to the group$/ do
|
2
|
+
@group.add_asset(@asset)
|
3
|
+
end
|
4
|
+
|
5
|
+
Then /^the asset should be in the group$/ do
|
6
|
+
@group.assets.should include(@asset.id)
|
7
|
+
end
|
8
|
+
|
9
|
+
Then /^the asset should have the group$/ do
|
10
|
+
@asset.groups.should include(@group.id)
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^the group should have the asset$/ do
|
14
|
+
@group.assets.should include(@asset.id) # express the regexp above with the code you wish you had
|
15
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
And /^I find the group with the name "([^\"]*)"$/ do |name|
|
2
|
+
@group = Sorenson::Services::Group.find_by_name(name)
|
3
|
+
end
|
4
|
+
|
5
|
+
When /^I create a group named "([^\"]*)"$/ do |name|
|
6
|
+
@group = Sorenson::Services::Group.create(name)
|
7
|
+
end
|
8
|
+
|
9
|
+
When /^I reload the group$/ do
|
10
|
+
@group = Sorenson::Services::Group.find(@group.id)
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^I should be able to find the group$/ do
|
14
|
+
@group = Sorenson::Services::Group.find(Sorenson::Services::Group.all.first)
|
15
|
+
end
|
16
|
+
|
17
|
+
And /^I get all groups$/ do
|
18
|
+
@groups = Sorenson::Services::Group.all
|
19
|
+
end
|
20
|
+
|
21
|
+
Then /^I delete the group if it was found$/ do
|
22
|
+
@group.destroy if @group
|
23
|
+
end
|
24
|
+
|
25
|
+
Then /^I delete the group$/ do
|
26
|
+
@group.destroy
|
27
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
When /^the asset metadata value for "([^\"]*)" should be "([^\"]*)"$/ do |key, value|
|
2
|
+
@asset.get_metadata_value(key).should == value
|
3
|
+
end
|
4
|
+
|
5
|
+
When /^I add the metadata "([^\"]*)" with the value "([^\"]*)" to the asset$/ do |key, value|
|
6
|
+
@asset.set_metadata(key, value)
|
7
|
+
end
|
8
|
+
|
9
|
+
When /^I delete the metadata key "([^\"]*)"$/ do |key|
|
10
|
+
data = @asset.delete_metadata(key)
|
11
|
+
data['status'] if data
|
12
|
+
end
|
13
|
+
|
14
|
+
Then /^the asset should not have a metadata value for "([^\"]*)"$/ do |key|
|
15
|
+
@asset.get_metadata_value(key).should == nil
|
16
|
+
end
|
17
|
+
|
18
|
+
And /^I get all the metadata for the asset$/ do
|
19
|
+
@metadata = @asset.metadata
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /^the metadata list should include "([^\"]*)"$/ do |arg1|
|
23
|
+
pending # express the regexp above with the code you wish you had
|
24
|
+
end
|
25
|
+
|
26
|
+
Then /^the metadata for the asset should contain "([^\"]*)"$/ do |keyvalue|
|
27
|
+
values = keyvalue.split("=")
|
28
|
+
@metadata[values[0]].should == values[1]
|
29
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
Then /^the total plays should be "([^\"]*)"$/ do |total|
|
2
|
+
Sorenson::Services::Metric.total_plays.should == total.to_i
|
3
|
+
end
|
4
|
+
|
5
|
+
Then /^the storage used should be "([^\"]*)"$/ do |storage|
|
6
|
+
Sorenson::Services::Metric.storage_used.should == storage.to_i
|
7
|
+
end
|
8
|
+
|
9
|
+
And /^I get all metrics$/ do
|
10
|
+
@events = Sorenson::Services::Metric.all
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^the events list should contain an event with a day of "([^\"]*)"$/ do |day|
|
14
|
+
@events.select {|event| event.date == Date.parse(day)}.should_not be_empty
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
When /^I create a new site with the name "([^\"]*)" and the description "([^\"]*)"$/ do |name, description|
|
2
|
+
Sorenson::Services::Site.create(name, :description => description)
|
3
|
+
end
|
4
|
+
|
5
|
+
And /^I get all sites$/ do
|
6
|
+
@sites = Sorenson::Services::Site.all
|
7
|
+
end
|
8
|
+
|
9
|
+
And /^I get the site named "([^\"]*)"$/ do |name|
|
10
|
+
@site = Sorenson::Services::Site.find_by_name(name)
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /^the site should have an id$/ do
|
14
|
+
@site.id.should == '5'
|
15
|
+
end
|