diff --git a/tests/vfc/nfvo-catalog/PNFDContent.robot b/tests/vfc/nfvo-catalog/PNFDContent.robot
new file mode 100644
index 0000000..3552e5b
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/PNFDContent.robot
@@ -0,0 +1,96 @@
+*** Settings ***
+Resource    ../../common.robot
+Library     Collections
+Library     RequestsLibrary
+Library     OperatingSystem
+Library     json
+Library     HttpLibrary.HTTP
+
+*** Variables ***
+${catalog_port}            8806
+${pnf_descriptors_url}         /api/nsd/v1/pnf_descriptors
+
+#json files
+${request_json}    ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/CreatePnfdInfoRequest.json
+${request_csar}    ${SCRIPTS}/../tests/vfc/nfvo-catalog/files/ran-du.csar
+
+#global variables
+${pnfdId}
+
+*** Test Cases ***
+Create new PNF Descriptor Resource for pre-condition
+    Log    Create new PNF Descriptor Resource for pre-condition
+    ${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     ${pnf_descriptors_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['pnfdOnboardingState']}
+    ${pnfdId}=    Convert To String      ${response_json['id']}
+    Set Global Variable     ${pnfdId}
+
+Upload PNFD Content
+    Log   Upload PNFD Content
+    [Documentation]    The objective is to test the upload of a PNFD Content
+    Create Session    web_session    http://${CATALOG_IP}:${catalog_port}
+    ${headers}    Create Dictionary    Accept=application/json
+    &{fileParts}=    Create Dictionary
+    Create Multi Part   ${fileParts}  file  ${request_csar}
+    Log  ${fileParts}
+    ${resp}=  Put Request  web_session  ${pnf_descriptors_url}/${pnfdId}/pnfd_content  files=${fileParts}  headers=${headers}
+    Log  ${resp.status_code}    
+    Should Be Equal As Strings    204    ${resp.status_code}
+    Log    Received 204 Accepted as expected
+  
+Get PNFD Content
+    Log    Get PNFD Content
+    [Documentation]    The objective is to test the retrieval of the PNFD Content
+    ${headers}            Create Dictionary    Content-Type=application/json
+    Create Session        web_session          http://${CATALOG_IP}:${catalog_port}      headers=${headers}
+    ${resp}=              Get Request          web_session     ${pnf_descriptors_url}/${pnfdId}/pnfd_content
+    Should Be Equal As Strings    200    ${resp.status_code}
+
+Check Postcondition
+    Log    Check Postcondition
+    ${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     ${pnf_descriptors_url}/${pnfdId}
+    Should Be Equal As Strings    200    ${resp.status_code}
+    ${response_json}    json.loads    ${resp.content}
+    Should Be Equal As Strings    ONBOARDED    ${response_json['pnfdOnboardingState']}
+	
+POST PNFD Content - Method not implemented
+    Log    POST PNFD Content - Method not implemented
+    [Documentation]    The objective is to test that POST method is not allowed to create new PNF Descriptor content
+    ${headers}            Create Dictionary    Content-Type=application/json    Accept=application/json
+    Create Session        web_session          http://${CATALOG_IP}:${catalog_port}      headers=${headers}
+    ${resp}=              Post Request          web_session     ${pnf_descriptors_url}/${pnfdId}/pnfd_content
+    Should Be Equal As Strings    405    ${resp.status_code}
+
+PATCH PNFD Content - Method not implemented
+    Log    PATCH PNFD Content - Method not implemented
+    [Documentation]    The objective is to test that PATCH  method is not allowed to update a PNF Descriptor content
+    ${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     ${pnf_descriptors_url}/${pnfdId}/pnfd_content
+    Should Be Equal As Strings    405    ${resp.status_code}
+
+DELETE PNFD Content - Method not implemented
+    Log    DELETE PNFD Content - Method not implemented
+    [Documentation]    The objective is to test that DELETE  method is not allowed to delete a PNF Descriptor content
+    ${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     ${pnf_descriptors_url}/${pnfdId}/pnfd_content
+    Should Be Equal As Strings    405    ${resp.status_code}
+
+*** Keywords ***
+Create Multi Part
+    [Arguments]  ${addTo}  ${partName}  ${filePath}  ${contentType}=${None}  ${content}=${None}
+    ${fileData}=  Run Keyword If  '''${content}''' != '''${None}'''  Set Variable  ${content}
+    ...            ELSE  Get Binary File  ${filePath}
+    ${fileDir}  ${fileName}=  Split Path  ${filePath}
+    ${partData}=  Create List  ${fileName}  ${fileData}  ${contentType}
+    Set To Dictionary  ${addTo}  ${partName}=${partData}
\ No newline at end of file
diff --git a/tests/vfc/nfvo-catalog/files/ran-du.csar b/tests/vfc/nfvo-catalog/files/ran-du.csar
new file mode 100644
index 0000000..45168a9
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/files/ran-du.csar
Binary files differ
