diff --git a/tests/vfc/nfvo-catalog/VNFPackages.robot b/tests/vfc/nfvo-catalog/VNFPackages.robot
new file mode 100644
index 0000000..52e5004
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/VNFPackages.robot
@@ -0,0 +1,74 @@
+*** Settings ***
+Resource    ../../common.robot
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+*** Variables ***
+${catalog_port}            8806
+${vnf_packages_url}         /api/vnfpkgm/v1/vnf_packages
+
+#json files
+${request_json}    ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json
+
+#global variables
+${packageId}
+
+*** Test Cases ***
+Create new VNF Package Resource
+    Log    Create new VNF Package Resource
+    [Documentation]    The objective is to test the creation of a new VNF Package Resource
+    ${json_value}=     json_from_file      ${request_json}
+    ${json_string}=     string_from_json   ${json_value}
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${CATALOG_IP}:${catalog_port}    headers=${headers}
+    Set Request Body    ${json_string}
+    ${resp}=    Post Request    web_session     ${vnf_packages_url}    ${json_string}
+    Should Be Equal As Strings    201   ${resp.status_code}
+    ${response_json}    json.loads    ${resp.content}
+    Should Be Equal As Strings    CREATED    ${response_json['onboardingState']}
+    ${packageId}=    Convert To String      ${response_json['id']}
+    Set Global Variable     ${packageId}
+
+GET all VNF Packages
+    Log    GET all VNF Packages
+    [Documentation]    The objective is to test the retrieval of all the available VNF packages information
+    ${headers}            Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session        web_session          http://${CATALOG_IP}:${catalog_port}      headers=${headers}
+    ${resp}=              Get Request          web_session     ${vnf_packages_url}
+    Should Be Equal As Strings    200    ${resp.status_code}
+    ${response_json}    json.loads    ${resp.content}
+    Should Be Equal As Strings    ${packageId}    ${response_json[0]['id']}
+
+PUT all VNF Packages - Method not implemented
+    Log    PUT all VNF Packages - Method not implemented
+    [Documentation]    The objective is to test that PUT method is not allowed to modify existing VNF Packages
+    ${headers}            Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session        web_session          http://${CATALOG_IP}:${catalog_port}      headers=${headers}
+    ${resp}=              Put Request          web_session     ${vnf_packages_url}
+    Should Be Equal As Strings    405    ${resp.status_code}
+
+PATCH all VNF Packages - Method not implemented
+    Log    PATCH all VNF Packages - Method not implemented
+    [Documentation]    The objective is to test that PATCH method is not allowed to update existing VNF Packages
+    ${headers}            Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session        web_session          http://${CATALOG_IP}:${catalog_port}      headers=${headers}
+    ${resp}=              Patch Request          web_session     ${vnf_packages_url}
+    Should Be Equal As Strings    405    ${resp.status_code}
+
+DELETE all VNF Packages - Method not implemented
+    Log    DELETE all VNF Packages - Method not implemented
+    [Documentation]    The objective is to test that DELETE method is not allowed to delete existing VNF Packages
+    ${headers}            Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session        web_session          http://${CATALOG_IP}:${catalog_port}      headers=${headers}
+    ${resp}=              Delete Request          web_session     ${vnf_packages_url}
+    Should Be Equal As Strings    405    ${resp.status_code}
+
+DELETE VNF Package
+    Log   DELETE VNF Package
+    ${headers}    Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session    web_session    http://${CATALOG_IP}:${catalog_port}    headers=${headers}
+    ${resp}=    Delete Request    web_session     ${vnf_packages_url}/${packageId}
+    Should Be Equal As Strings    204    ${resp.status_code}
diff --git a/tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json b/tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json
new file mode 100644
index 0000000..8784513
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json
@@ -0,0 +1,3 @@
+{
+	"userDefinedData": {}
+}
\ No newline at end of file
