Commit 99fb66ae authored by Tamaki Fujino's avatar Tamaki Fujino Committed by Yas Naoi
Browse files

Issue #3255858 by TamakiFujino, yas: Add a BDD test suite for AWS resources...

Issue #3255858 by TamakiFujino, yas: Add a BDD test suite for AWS resources (Refactor Directory Structure)
parent 51809e4a
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ Feature: View the created resources for AWS as "Administrator"
    Then I should see "{{ role_name }}"

  @api
  Scenario Outline: View the menu of cloud service providers
  Scenario Outline: View the menu of AWS Cloud service providers
    Given I am logged in as a user with the <role> role
    And I should see the link "All" in the "nav_bar"
    And I should see the link "AWS" in the "nav_bar"
@@ -29,7 +29,7 @@ Feature: View the created resources for AWS as "Administrator"
      | "Administrator"      |

  @api
  Scenario: View the manage menu of cloud service providers
  Scenario: View the manage menu of AWS Cloud service providers
    Given I am logged in as a user with the "Administrator" role
    And I should see the link "All" in the "nav_bar"
    And I should see the link "AWS" in the "nav_bar"
@@ -39,7 +39,7 @@ Feature: View the created resources for AWS as "Administrator"
    And I should see the button "Apply"

  @api
  Scenario Outline: View the list of cloud service providers
  Scenario Outline: View the list of AWS Cloud service providers
    Given I am logged in as a user with the <role> role
    And I should see the link "All" in the "nav_bar"
    And I should see the link "AWS" in the "nav_bar"
+75 −0
Original line number Diff line number Diff line
Feature: Create resources for AWS as "Authenticated User"
  In order to launch EC2 instance
  As a user
  I need to create necessary resource

  @api
  Scenario: Log into the site
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds"
    Then I should see the heading "Cloud service providers"
    And I should see the link "All" in the "nav_bar"
    And I should see the link "AWS" in the "nav_bar"

  @api
  Scenario: Create an SSH key pair
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/key_pair/add"
    And I should see the heading "Add AWS Cloud key pair"
    And I enter "{{ ssh_key_name }}" for "Key pair name"
    And I press "Save"
    Then the url should match "/clouds/aws_cloud/{{ cloud_context }}/key_pair"
    And I should see "has been created"
    And I should see the link "{{ ssh_key_name }}"

  @api
  Scenario: Add a VPC
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/vpc/add"
    And I enter "{{ vpc_name }}" for "Name"
    And I enter "{{ ipv4_cidr }}" for "IPv4 CIDR block"
    And I press "Save"
    And I wait {{ wait }} milliseconds
    Then I should be on "/clouds/aws_cloud/{{ cloud_context }}/vpc"
    And I should see "has been created"
    And I should see the link "{{ vpc_name }}" in the table

  @javascript @api
  Scenario: Add a subnet
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/subnet/add"
    And I enter "{{ subnet_name }}" for "Name"
    And I select "{{ vpc_name }}" from "VPC CIDR (ID)"
    And I select "{{ avail_zone }}" from "Availability Zone"
    And I enter "{{ ipv4_cidr }}" for "IPv4 CIDR block"
    And I press "Save"
    And I wait for AJAX to finish
    Then I should be on "/clouds/aws_cloud/{{ cloud_context }}/subnet"
    And I should see "has been created"
    And I should see the link "{{ subnet_name }}" in the table

  @javascript  @api
  Scenario: Add an Internet gateway
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway/add"
    And I should see the heading "Add AWS Cloud internet gateway"
    And I enter "{{ internet_gateway }}" for "Name"
    And I press "Save"
    And I wait for AJAX to finish
    Then the url should match "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see the link "{{ internet_gateway }}"

  @javascript  @api
  Scenario: Attach an Internet gateway
    Given I am logged in as a user with the "Administrator" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see the link "{{ internet_gateway }}"
    And I should see the button "Attach"
    And I press "Attach"
    And the url should match "/attach"
    And I select "{{ vpc_name }}" from "VPC CIDR (ID)"
    And I press "Attach"
    And I wait for AJAX to finish
    Then I should be on "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see "is attached to VPC"
    And I should see "Detach" in the "{{ internet_gateway }}" row
+4 −52
Original line number Diff line number Diff line
Feature: Launch EC2 instance as "Authenticated User"
  In order to launch EC2 instance
  As a user
  I need to create necessary resource

  @api
  Scenario: Log into the site
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds"
    Then I should see the heading "Cloud service providers"
    And I should see the link "All" in the "nav_bar"
    And I should see the link "AWS" in the "nav_bar"

  @api
  Scenario: Create an SSH key pair
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/key_pair/add"
    And I should see the heading "Add AWS Cloud key pair"
    And I enter "{{ ssh_key_name }}" for "Key pair name"
    And I press "Save"
    Then the url should match "/clouds/aws_cloud/{{ cloud_context }}/key_pair"
    And I should see "has been created"
    And I should see the link "{{ ssh_key_name }}"
Feature: Launch an EC2 instance as "Authenticated User"

  @javascript @api
  Scenario: Import an AMI image
@@ -33,32 +11,6 @@ Feature: Launch EC2 instance as "Authenticated User"
    And I should see "Imported 1 images"
    And I should see the link "{{ image_name }}" in the table

  @api
  Scenario: Add a VPC
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/vpc/add"
    And I enter "{{ vpc_name }}" for "Name"
    And I enter "{{ ipv4_cidr }}" for "IPv4 CIDR block"
    And I press "Save"
    And I wait {{ wait }} milliseconds
    Then I should be on "/clouds/aws_cloud/{{ cloud_context }}/vpc"
    And I should see "has been created"
    And I should see the link "{{ vpc_name }}" in the table

  @javascript @api
  Scenario: Add a subnet
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/subnet/add"
    And I enter "{{ subnet_name }}" for "Name"
    And I select "{{ vpc_name }}" from "VPC CIDR (ID)"
    And I select "{{ avail_zone }}" from "Availability Zone"
    And I enter "{{ ipv4_cidr }}" for "IPv4 CIDR block"
    And I press "Save"
    And I wait for AJAX to finish
    Then I should be on "/clouds/aws_cloud/{{ cloud_context }}/subnet"
    And I should see "has been created"
    And I should see the link "{{ subnet_name }}" in the table

  @javascript @api
  Scenario: Add a security group
    Given I am logged in as a user with the "{{ role_name }}" role
@@ -80,7 +32,7 @@ Feature: Launch EC2 instance as "Authenticated User"
    And I should see the link "{{ security_group_name }}"

  @javascript @api
  Scenario: Create a launch template
  Scenario: Create a Cloud launch template
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/design/server_template/{{ cloud_context }}/aws_cloud/add"
    And I should see the heading "Add AWS Cloud"
@@ -103,7 +55,7 @@ Feature: Launch EC2 instance as "Authenticated User"
    And I should see the link "{{ instance_name }}" in the table

  @javascript @api
  Scenario: Launch an instance
  Scenario: Launch an EC2 instance
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/design/server_template/{{ cloud_context }}"
    And I click "{{ instance_name }}"
@@ -121,7 +73,7 @@ Feature: Launch EC2 instance as "Authenticated User"
    And I should see "pending" in the "{{ instance_name }}" row

  @api
  Scenario: View the instance
  Scenario: View the EC2 instance
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/instance"
    And I click "{{ instance_name }}"
+5 −61
Original line number Diff line number Diff line
Feature: Create an Elastic IP
Feature: Allocate and release an Elastic IP as "Authenticated User"

  @javascript  @api
  Scenario: Create an Elastic IP
  Scenario: Allocate an Elastic IP
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/elastic_ip/add"
    And I should see the heading "Add AWS Cloud Elastic IP"
@@ -14,33 +14,7 @@ Feature: Create an Elastic IP
    And I should see "has been created"

  @javascript  @api
  Scenario: Add an Internet gateway
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway/add"
    And I should see the heading "Add AWS Cloud internet gateway"
    And I enter "{{ internet_gateway }}" for "Name"
    And I press "Save"
    And I wait for AJAX to finish
    Then the url should match "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see the link "{{ internet_gateway }}"

  @javascript  @api
  Scenario: Associate an Internet gateway
    Given I am logged in as a user with the "Administrator" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see the link "{{ internet_gateway }}"
    And I should see the button "Attach"
    And I press "Attach"
    And the url should match "/attach"
    And I select "{{ vpc_name }}" from "VPC CIDR (ID)"
    And I press "Attach"
    And I wait for AJAX to finish
    Then I should be on "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see "is attached to VPC"
    And I should see "Detach" in the "{{ internet_gateway }}" row

  @javascript  @api
  Scenario: Associate an Elastic IP
  Scenario: Associate the Elastic IP
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context}}/elastic_ip"
    And I click "Refresh"
@@ -59,8 +33,7 @@ Feature: Create an Elastic IP
    And I should see "Disassociate Elastic IP" in the "actions"

  @javascript  @api
  Scenario: Disassociate an Elastic IP

  Scenario: Disassociate the Elastic IP
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/elastic_ip"
    And I click "Refresh"
@@ -75,9 +48,8 @@ Feature: Create an Elastic IP
    Then I should be on "/clouds/aws_cloud/{{ cloud_context }}/elastic_ip"
    And I should see "Elastic IP disassociated from"


  @javascript @api
  Scenario: Delete an Elastic IP
  Scenario: Release the Elastic IP
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/elastic_ip"
    And I click "Refresh"
@@ -94,31 +66,3 @@ Feature: Create an Elastic IP
    And I click "Refresh"
    # No table exists.
    And I should not see the link "{{ elastic_ip }}"

  @javascript  @api
  Scenario: Detach an Internet gateway
    Given I am logged in as a user with the "Administrator" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see the link "{{ internet_gateway }}"
    And I should see the button "Detach"
    And I press "Detach"
    And the url should match "/detach"
    And I press "Detach"
    And I wait for AJAX to finish
    Then I should be on "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see "detached from VPC"
    And I should see the button "Attach"

  @javascript  @api
  Scenario: Delete an Internet gateway
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see the link "{{ internet_gateway }}"
    And I click "{{ internet_gateway }}"
    And the url should match "/internet_gateway/"
    And I click "Delete"
    And the url should match "/delete"
    And I press "Delete"
    And I wait for AJAX to finish
    Then the url should match "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see "has been deleted"
 No newline at end of file
+31 −3
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ Feature: Delete the created resources as "Authenticated user"
  I need to delete some resources

  @api
  Scenario: Terminate an instance
  Scenario: Terminate an EC2 instance
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/instance"
    And I click "Refresh"
@@ -22,7 +22,7 @@ Feature: Delete the created resources as "Authenticated user"
    And I should see the text "shutting-down" or "terminated" in the "{{ instance_name }}" row

  @javascript @api
  Scenario: Delete a launch template
  Scenario: Delete a Cloud launch template
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/design/server_template/{{ cloud_context }}"
    And I click "Refresh"
@@ -57,6 +57,34 @@ Feature: Delete the created resources as "Authenticated user"
    And I click "Refresh"
    And I should not see the link "{{ security_group_name }}" in the table

  @javascript  @api
  Scenario: Detach an Internet gateway
    Given I am logged in as a user with the "Administrator" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see the link "{{ internet_gateway }}"
    And I should see the button "Detach"
    And I press "Detach"
    And the url should match "/detach"
    And I press "Detach"
    And I wait for AJAX to finish
    Then I should be on "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see "detached from VPC"
    And I should see the button "Attach"

  @javascript  @api
  Scenario: Delete an Internet gateway
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see the link "{{ internet_gateway }}"
    And I click "{{ internet_gateway }}"
    And the url should match "/internet_gateway/"
    And I click "Delete"
    And the url should match "/delete"
    And I press "Delete"
    And I wait for AJAX to finish
    Then the url should match "/clouds/aws_cloud/{{ cloud_context }}/internet_gateway"
    And I should see "has been deleted"

  @javascript @api
  Scenario: Delete a subnet
    Given I am logged in as a user with the "{{ role_name }}" role
@@ -114,7 +142,7 @@ Feature: Delete the created resources as "Authenticated user"
    And I should not see the link "{{ image_name }}"

  @javascript @api
  Scenario: Delete an SSH key pair
  Scenario: Delete the SSH key pair
    Given I am logged in as a user with the "{{ role_name }}" role
    When I visit "/clouds/aws_cloud/{{ cloud_context }}/key_pair"
    And I click "Refresh"
Loading