Commit 4f7956ad authored by Francisco-Javier Ramon Salguero's avatar Francisco-Javier Ramon Salguero
Browse files

Minor format fixes to BASIC-17

parent 400258f2
Loading
Loading
Loading
Loading
+91 −78
Original line number Diff line number Diff line
@@ -393,12 +393,12 @@ osm vnf-show <VNF_ID>

### \[BASIC-16\] RBAC enforcement

### \[BASIC-17\] Quotas and project
### \[BASIC-17\] Quotas per project

This test will check project creation edition and isolation. It tests the quotas per project (Feature 9015). Finally it tests projects cannot be deleted with dependencies.
This test will check project creation edition and isolation. It tests the quotas per project. Finally it tests that projects cannot be deleted with dependencies.

1. Create project with quotas. Tests `osmclient` with both comma-separated list and repetition of `--quotas` option:
   ```bash
# create with quotas. Test osmclient with both comma separated list and repetition of --quotas option
   osm project-create p3 --quotas vnfds=1,nsds=1 --quotas nsrs=1
   osm project-show p3 | grep -q -e '"vnfds": 1' || echo "FAIL"
   osm project-show p3 | grep -q -e '"nsds": 1' || echo "FAIL"
@@ -408,59 +408,72 @@ osm project-create p2 --quotas vnfds=1,nsds=1,nsrs=1
   osm project-show p2 | grep -q -e '"vnfds": 1' || echo "FAIL"
   osm project-show p2 | grep -q -e '"nsds": 1' || echo "FAIL"
   osm project-show p2 | grep -q -e '"nsds": 1' || echo "FAIL"

# create user and assign both projecst with project_admin role
   ```
2. Create user and assign both projecst with `project_admin` role:
   ```bash
   osm user-create u --password u --project-role-mappings p3,project_admin --project-role-mappings p2,project_admin

# change project name
   ```
3. Change project name:
   ```bash
   osm project-update p3 --name p1
   osm project-show p1 | grep -q -e '"vnfds": 1' || echo "FAIL"
   osm project-show p1 | grep -q -e '"nsds": 1' || echo "FAIL"
   osm project-show p1 | grep -q -e '"nsds": 1' || echo "FAIL"
   osm user-show u | grep -q -e '"p3"' && echo "FAIL"   # user uses renamed project 'p1', not 'p3'

# list packages, must be empty, without any uuid. Using regular expression for grep
   ```
4. List packages (list must be empty) without any uuid. Using regular expression for grep:
   ```bash
   osm --project p1 --password u --user u vnfpkg-list | grep -q -E "[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}" && echo "FAIL"

# add packages
   ```
5. Add packages
   ```bash
   osm --project p1 --password u --user u vnfpkg-create hackfest_basic_vnf.tar.gz --override "id=v1;name=v1" || echo "FAIL"
# this must fail for quota exceeded
   ```
6. Force a failure for for exceeded quota:
   ```bash
   osm --project p1 --password u --user u vnfpkg-create hackfest_basic_vnf.tar.gz --override "id=v2;name=v2" && echo "FAIL"

# enlarge quota
   ```
7. Enlarge quota:
   ```bash
   osm project-update p1 --quotas "vnfds=10,nsds=,nsrs="
   osm project-show p1 | grep -q -e '"vnfds": 10' || echo "FAIL"
   osm project-show p1 | grep -q -e '"nsds":' && echo "FAIL"

# Add more packages
   ```
8. Add more packages:
   ```bash
   for i in {2..10} ; do
     osm --project p1 --password u --user u vnfpkg-create hackfest_basic_vnf.tar.gz --override "id=v${i};name=v${i}" || echo "FAIL"
   done
# Another vnfpkg created will fail for quota
   ```
9. Another `vnfpkg` created should fail for quota limits:
   ```bash
   osm --project p1 --password u --user u vnfpkg-create hackfest_basic_vnf.tar.gz --override "id=v11;name=v11" && echo "FAIL"

# Switch to project 2
   ```
10. Switch to project 2
    ```bash
    osm --project p2 --password u --user u vnfpkg-list | grep -q -E "[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}" && echo "FAIL"
# test quota
    ```
11. Test quota
    ```bash
    osm --project p2 --password u --user u vnfpkg-create hackfest_basic_vnf.tar.gz --override "id=vp2_1;name=vp2_1"
    osm --project p2 --password u --user u vnfpkg-create hackfest_basic_vnf.tar.gz --override "id=vp2_2;name=vp2_2" && echo "FAIL"

# test that one project cannot see the scope of other
    ```
12. Check that one project cannot see the scope of other:
    ```bash
    osm --project p2 --password u --user u --all-projects vnfpkg-list && echo "FAIL"
    osm --project p1 --password u --user u --all-projects vnfpkg-show vp2_1  && echo "FAIL"
    osm --project p2 --password u --user u --all-projects vnfpkg-show v1  && echo "FAIL"
    ```

Delete. Test dependencies

13. Delete. Test dependencies:
    1. Remove packages
       ```bash
# Remove packages
       for i in {1..10} ; do
         osm --project p1 --password u --user u vnfpkg-delete v${i}
       done
       osm --project p2 --password u --user u vnfpkg-delete v1p2_1

# delete project will fail because in use by user 'u'
       ```
    2. Delete project will fail because in use by user 'u'
       ```bash
       osm project-delete p2 && echo "FAIL"
       
       osm user-update u --remove-project p2  # remove project from user