From 771a3005946be5f1d2a30020eb1e11993d1dbc74 Mon Sep 17 00:00:00 2001
From: Samruddhi Khandale <skhandale@microsoft.com>
Date: Thu, 1 Sep 2022 09:51:09 -0700
Subject: Oryx - Fix bug when dynamically installing dotnet in universal image
 (#125)

* fix oryx

* copy /images

* bimp version
---
 test/oryx/install_dotnet_and_oryx.sh | 35 +++++++++++++++++++++++++++++++++++
 test/oryx/scenarios.json             |  5 ++++-
 test/oryx/test.sh                    | 10 ++++++++++
 3 files changed, 49 insertions(+), 1 deletion(-)

(limited to 'test/oryx')

diff --git a/test/oryx/install_dotnet_and_oryx.sh b/test/oryx/install_dotnet_and_oryx.sh
index 9151296..1754828 100644
--- a/test/oryx/install_dotnet_and_oryx.sh
+++ b/test/oryx/install_dotnet_and_oryx.sh
@@ -8,5 +8,40 @@ source dev-container-features-test-lib
 check "Oryx version" oryx --version
 check "Dotnet is not removed if it is not installed by the Oryx Feature" dotnet --version
 
+# Install platforms with oryx build tool
+check "oryx-install-dotnet-2.1" oryx prep --skip-detection --platforms-and-versions dotnet=2.1.30
+check "dotnet-2-installed-by-oryx" ls /opt/dotnet/ | grep 2.1
+
+check "oryx-install-nodejs-12.22.11" oryx prep --skip-detection --platforms-and-versions nodejs=12.22.11
+check "nodejs-12.22.11-installed-by-oryx" ls /opt/nodejs/ | grep 12.22.11
+
+check "oryx-install-php-7.3.25" oryx prep --skip-detection --platforms-and-versions php=7.3.25
+check "php-7.3.25-installed-by-oryx" ls /opt/php/ | grep 7.3.25
+
+check "oryx-install-java-12.0.2" oryx prep --skip-detection --platforms-and-versions java=12.0.2
+check "java-12.0.2-installed-by-oryx" ls /opt/java/ | grep 12.0.2
+
+# Replicates Oryx's behavior for universal image
+mkdir -p /opt/oryx
+echo "vso-focal" >> /opt/oryx/.imagetype
+
+mkdir -p /opt/dotnet/lts
+cp -R /usr/local/dotnet/current/dotnet /opt/dotnet/lts
+cp -R /usr/local/dotnet/current/LICENSE.txt /opt/dotnet/lts
+cp -R /usr/local/dotnet/current/ThirdPartyNotices.txt /opt/dotnet/lts
+
+# Install platforms with oryx build tool
+check "oryx-install-dotnet-2.1-universal" oryx prep --skip-detection --platforms-and-versions dotnet=2.1.30
+check "dotnet-2-installed-by-oryx-universal" ls /opt/dotnet/ | grep 2.1
+
+check "oryx-install-nodejs-12.22.11-universal" oryx prep --skip-detection --platforms-and-versions nodejs=12.22.11
+check "nodejs-12.22.11-installed-by-oryx-universal" ls /opt/nodejs/ | grep 12.22.11
+
+check "oryx-install-php-7.3.25-universal" oryx prep --skip-detection --platforms-and-versions php=7.3.25
+check "php-7.3.25-installed-by-oryx-universal" ls /opt/php/ | grep 7.3.25
+
+check "oryx-install-java-12.0.2-universal" oryx prep --skip-detection --platforms-and-versions java=12.0.2
+check "java-12.0.2-installed-by-oryx-universal" ls /opt/java/ | grep 12.0.2
+
 # Report result
 reportResults
diff --git a/test/oryx/scenarios.json b/test/oryx/scenarios.json
index 8598067..4b9fa90 100644
--- a/test/oryx/scenarios.json
+++ b/test/oryx/scenarios.json
@@ -2,7 +2,10 @@
     "install_dotnet_and_oryx": {
         "image": "ubuntu:focal",
         "features": {
-            "dotnet": "6",
+            "dotnet": {
+                "version": "6",
+                "installUsingApt": "false"
+            },
             "oryx": {}
         }
     }
diff --git a/test/oryx/test.sh b/test/oryx/test.sh
index 49a2327..c5d6067 100755
--- a/test/oryx/test.sh
+++ b/test/oryx/test.sh
@@ -9,8 +9,18 @@ check "Oryx version" oryx --version
 check "ORYX_SDK_STORAGE_BASE_URL" echo $ORYX_SDK_STORAGE_BASE_URL
 check "ENABLE_DYNAMIC_INSTALL" echo $ENABLE_DYNAMIC_INSTALL
 
+# Install platforms with oryx build tool
+check "oryx-install-dotnet-2.1" oryx prep --skip-detection --platforms-and-versions dotnet=2.1.30
+check "dotnet-2-installed-by-oryx" ls /opt/dotnet/ | grep 2.1
+
 check "oryx-install-nodejs-12.22.11" oryx prep --skip-detection --platforms-and-versions nodejs=12.22.11
 check "nodejs-12.22.11-installed-by-oryx" ls /opt/nodejs/ | grep 12.22.11
 
+check "oryx-install-php-7.3.25" oryx prep --skip-detection --platforms-and-versions php=7.3.25
+check "php-7.3.25-installed-by-oryx" ls /opt/php/ | grep 7.3.25
+
+check "oryx-install-java-12.0.2" oryx prep --skip-detection --platforms-and-versions java=12.0.2
+check "java-12.0.2-installed-by-oryx" ls /opt/java/ | grep 12.0.2
+
 # Report result
 reportResults
\ No newline at end of file
-- 
cgit v1.2.3