From ff026a20d71238d8db2b2376e997d04f5f5ab616 Mon Sep 17 00:00:00 2001 From: Neal Richardson Date: Wed, 19 Feb 2025 08:42:23 -0500 Subject: [PATCH] chore(ci): remove rsconnect-jupyter test suite --- .github/workflows/main.yml | 47 -- README.md | 12 +- .../content/notebook/README.md | 19 - .../content/notebook/quandl-wiki-tsla.json.gz | Bin 48778 -> 0 bytes .../content/notebook/requirements.txt | 3 - .../notebook/stock-report-jupyter.ipynb | 464 ------------------ .../content/notebook/thumbnail.jpg | Bin 93732 -> 0 bytes integration-testing/content/voila/index.ipynb | 119 ----- .../content/voila/requirements.txt | 4 - integration-testing/cypress.config.js | 22 - integration-testing/cypress/e2e/jupyter.cy.js | 54 -- integration-testing/cypress/e2e/voila.cy.js | 44 -- integration-testing/cypress/plugins/index.js | 17 - .../cypress/support/commands.js | 79 --- integration-testing/cypress/support/e2e.js | 20 - integration-testing/docker-compose.yml | 46 +- integration-testing/docker/cli.Dockerfile | 7 +- integration-testing/docker/client.Dockerfile | 27 - integration-testing/docker/cypress.Dockerfile | 14 - integration-testing/docker/requirements.txt | 1 - integration-testing/justfile | 77 --- 21 files changed, 13 insertions(+), 1063 deletions(-) delete mode 100644 integration-testing/content/notebook/README.md delete mode 100644 integration-testing/content/notebook/quandl-wiki-tsla.json.gz delete mode 100644 integration-testing/content/notebook/requirements.txt delete mode 100644 integration-testing/content/notebook/stock-report-jupyter.ipynb delete mode 100644 integration-testing/content/notebook/thumbnail.jpg delete mode 100644 integration-testing/content/voila/index.ipynb delete mode 100644 integration-testing/content/voila/requirements.txt delete mode 100644 integration-testing/cypress.config.js delete mode 100644 integration-testing/cypress/e2e/jupyter.cy.js delete mode 100644 integration-testing/cypress/e2e/voila.cy.js delete mode 100644 integration-testing/cypress/plugins/index.js delete mode 100644 integration-testing/cypress/support/commands.js delete mode 100644 integration-testing/cypress/support/e2e.js delete mode 100644 integration-testing/docker/client.Dockerfile delete mode 100644 integration-testing/docker/cypress.Dockerfile delete mode 100644 integration-testing/docker/requirements.txt delete mode 100644 integration-testing/justfile diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b15fff70..d2e9e4a2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -175,53 +175,6 @@ jobs: pytest tests/test_main_system_caches.py pytest -m 'vetiver' - test-jupyter: - runs-on: ubuntu-latest - env: - CONNECT_LICENSE: ${{ secrets.RSC_LICENSE }} - ADMIN_API_KEY: ${{ secrets.ADMIN_API_KEY }} - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - uses: extractions/setup-just@v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Build Containers - run: | - cd integration-testing - docker compose build client - docker compose build cypress - - name: Start Connect + rsconnect-jupyter - run: | - just integration-testing/up - - - name: Run Cypress Tests - run: | - just integration-testing/up-cypress - - # Videos are captured whether the suite fails or passes - - name: Save videos - uses: actions/upload-artifact@v4 - if: success() || failure() - with: - name: cypress-videos - path: integration-testing/cypress/videos - if-no-files-found: ignore - retention-days: 1 - - # Screenshots are only captured on failure - - name: Save screenshots - uses: actions/upload-artifact@v4 - if: failure() - with: - name: cypress-screenshots - path: integration-testing/cypress/screenshots - if-no-files-found: ignore - retention-days: 1 - test-connect: needs: distributions runs-on: ubuntu-latest diff --git a/README.md b/README.md index 8596cf20..19dcdcc5 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,7 @@ # The rsconnect-python CLI This package provides a CLI (command-line interface) for interacting -with and deploying to Posit Connect. This is also used by the -[`rsconnect-jupyter`](https://github.com/rstudio/rsconnect-jupyter) package to deploy -Jupyter notebooks via the Jupyter web console. Many types of content supported by Posit +with and deploying to Posit Connect. Many types of content supported by Posit Connect may be deployed by this package, including WSGI-style APIs, Dash, Streamlit, Gradio, and Bokeh applications. @@ -649,7 +647,7 @@ Generated from rsconnect-python {{ rsconnect_python.version }} ### Hide Jupyter Notebook Input Code Cells -The user can render a Jupyter notebook without its corresponding input code cells by passing the '--hide-all-input' flag through the cli: +You can render a Jupyter notebook without its corresponding input code cells by passing the '--hide-all-input' flag through the cli: ```bash rsconnect deploy notebook \ @@ -659,7 +657,8 @@ rsconnect deploy notebook \ my-notebook.ipynb ``` -To selectively hide input cells in a Jupyter notebook, the user needs to follow a two step process: +To selectively hide input cells in a Jupyter notebook, you need to do two things: + 1. tag cells with the 'hide_input' tag, 2. then pass the ' --hide-tagged-input' flag through the cli: @@ -671,7 +670,8 @@ rsconnect deploy notebook \ my-notebook.ipynb ``` -By default, rsconnect-python does not install Jupyter notebook related depenencies. These dependencies are installed via rsconnect-jupyter. When the user is using the hide input features in rsconnect-python by itself without rsconnect-jupyter, he/she needs to install the following package depenecies: +By default, rsconnect-python does not install Jupyter notebook-related depenencies. +To use these hide input features in rsconnect-python you need to install these extra dependencies: ``` notebook diff --git a/integration-testing/content/notebook/README.md b/integration-testing/content/notebook/README.md deleted file mode 100644 index ad2e4b8d..00000000 --- a/integration-testing/content/notebook/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# Stock Report - -## About this example - -This stock report is generated using Python and Jupyter Notebook. Stock prices are populated from Quandl to generate a stock performance summary intended to run daily after market close. - - -## Learn more - -* [Jupyter Homepage](https://jupyter.org/) -* [Jupyter Documentation](https://jupyter.org/documentation) -* [Using Jupyter Notebooks in {systemDisplayName}](https://docs.posit.co/connect/user/jupyter-notebook/) -* [User Guide for rsconnect_jupyter](https://docs.posit.co/rsconnect-jupyter/) - -## Requirements - -* Python version 3.7 or higher - - diff --git a/integration-testing/content/notebook/quandl-wiki-tsla.json.gz b/integration-testing/content/notebook/quandl-wiki-tsla.json.gz deleted file mode 100644 index 168a29c7c8688d2443dd3cd16795d514c178a048..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48778 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

h*tCj>^3{D)9KRL!WzK^GUNy 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\n", - " NOTE: This example requires quandl-wiki-tsla.json.gz to be included as an Additional File when publishing to Posit Connect as a notebook with source code.\n", - "

" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
HighLowAvg Volume
Most Recent Trading Day304.27277.1813696168.0
52-Week389.61275.546407795.0
\n", - "
" - ], - "text/plain": [ - " High Low Avg Volume\n", - "Most Recent Trading Day 304.27 277.18 13696168.0\n", - "52-Week 389.61 275.54 6407795.0" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "import datetime\n", - "import gzip\n", - "\n", - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "\n", - "%matplotlib inline\n", - "\n", - "prices = pd.read_json(gzip.open('quandl-wiki-tsla.json.gz'), orient='split')\n", - "\n", - "data=[\n", - " [\n", - " prices.last('1d')['High'].values[0],\n", - " prices.last('1d')['Low'].values[0],\n", - " prices.last('1d')['Volume'].values[0].round(),\n", - " ],\n", - " [\n", - " prices.asfreq('D').rolling(window=52*7, min_periods=1).max().last('1d')['High'].values[0],\n", - " prices.asfreq('D').rolling(window=52*7, min_periods=1).min().last('1d')['Low'].values[0],\n", - " prices.asfreq('D').rolling(window=52*7, min_periods=1).mean().last('1d')['Volume'].values[0].round(),\n", - " ]\n", - "]\n", - "\n", - "pd.DataFrame(data, columns=['High', 'Low', 'Avg Volume'], index=['Most Recent Trading Day', '52-Week'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## History" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 2, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "plt.rcParams['figure.figsize'] = [15, 10]\n", - "prices['Adj. Close'].plot(grid=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Raw Data" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
OpenHighLowCloseVolumeEx-DividendSplit RatioAdj. OpenAdj. HighAdj. LowAdj. CloseAdj. Volume
2010-06-2919.0025.000017.5423.89187663000119.0025.000017.5423.8918766300
2010-06-3025.7930.419223.3023.83171871000125.7930.419223.3023.8317187100
2010-07-0125.0025.920020.2721.9682188000125.0025.920020.2721.968218800
2010-07-0223.0023.100018.7119.2051398000123.0023.100018.7119.205139800
2010-07-0620.0020.000015.8316.1168669000120.0020.000015.8316.116866900
.......................................
2018-03-21310.25322.4400310.19316.53592788101310.25322.4400310.19316.535927881
2018-03-22313.89318.8200308.18309.10491430701313.89318.8200308.18309.104914307
2018-03-23311.25311.6100300.45301.54660053801311.25311.6100300.45301.546600538
2018-03-26307.34307.5900291.36304.18832463901307.34307.5900291.36304.188324639
2018-03-27304.00304.2700277.18279.181369616801304.00304.2700277.18279.1813696168
\n", - "

1949 rows × 12 columns

\n", - "
" - ], - "text/plain": [ - " Open High Low Close Volume Ex-Dividend \\\n", - "2010-06-29 19.00 25.0000 17.54 23.89 18766300 0 \n", - "2010-06-30 25.79 30.4192 23.30 23.83 17187100 0 \n", - "2010-07-01 25.00 25.9200 20.27 21.96 8218800 0 \n", - "2010-07-02 23.00 23.1000 18.71 19.20 5139800 0 \n", - "2010-07-06 20.00 20.0000 15.83 16.11 6866900 0 \n", - "... ... ... ... ... ... ... \n", - "2018-03-21 310.25 322.4400 310.19 316.53 5927881 0 \n", - "2018-03-22 313.89 318.8200 308.18 309.10 4914307 0 \n", - "2018-03-23 311.25 311.6100 300.45 301.54 6600538 0 \n", - "2018-03-26 307.34 307.5900 291.36 304.18 8324639 0 \n", - "2018-03-27 304.00 304.2700 277.18 279.18 13696168 0 \n", - "\n", - " Split Ratio Adj. Open Adj. High Adj. Low Adj. Close \\\n", - "2010-06-29 1 19.00 25.0000 17.54 23.89 \n", - "2010-06-30 1 25.79 30.4192 23.30 23.83 \n", - "2010-07-01 1 25.00 25.9200 20.27 21.96 \n", - "2010-07-02 1 23.00 23.1000 18.71 19.20 \n", - "2010-07-06 1 20.00 20.0000 15.83 16.11 \n", - "... ... ... ... ... ... \n", - "2018-03-21 1 310.25 322.4400 310.19 316.53 \n", - "2018-03-22 1 313.89 318.8200 308.18 309.10 \n", - "2018-03-23 1 311.25 311.6100 300.45 301.54 \n", - "2018-03-26 1 307.34 307.5900 291.36 304.18 \n", - "2018-03-27 1 304.00 304.2700 277.18 279.18 \n", - "\n", - " Adj. Volume \n", - "2010-06-29 18766300 \n", - "2010-06-30 17187100 \n", - "2010-07-01 8218800 \n", - "2010-07-02 5139800 \n", - "2010-07-06 6866900 \n", - "... ... \n", - "2018-03-21 5927881 \n", - "2018-03-22 4914307 \n", - "2018-03-23 6600538 \n", - "2018-03-26 8324639 \n", - "2018-03-27 13696168 \n", - "\n", - "[1949 rows x 12 columns]" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "prices" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

\n", - " NOTE: This report uses Quandl's WIKI price dataset for US publicly traded companies. As of April 11, 2018 this data feed is no longer actively supported by Quandl.\n", - "

" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.16" - }, - "rsconnect": { - "previousServerId": "103c3a7d1bc73804ae13812f7e334afb", - "servers": { - "103c3a7d1bc73804ae13812f7e334afb": { - "appId": 1, - "appMode": "jupyter-static", - "configUrl": "http://connect:3939/connect/#/apps/2e7db7ef-7b25-4e36-b5d6-806a3138654c", - "disableTLSCheck": false, - "notebookTitle": "stock-report-jupyter", - "server": "http://connect:3939/", - "serverName": "localhost" - } - }, - "version": 1 - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/integration-testing/content/notebook/thumbnail.jpg b/integration-testing/content/notebook/thumbnail.jpg deleted file mode 100644 index 4a64568ae93414ca130309ed4a0300c68e7a997f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93732 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 { - - it('Publish button loads', () => { - cy.visit('http://client:9999/tree/integration-testing/content/notebook/stock-report-jupyter.ipynb'); - cy.get('button[data-jupyter-action="rsconnect_jupyter:publish"]').click(); - cy.get('a[id="publish-to-connect"]').should('be.visible') - }); - // wait is required after every action, cypress is too fast for jupyter - // https://github.com/cypress-io/cypress/issues/249 - // it('Add Server', () => { - - it('Add Server', () => { - cy.visit('http://client:9999/tree/integration-testing/content/notebook/stock-report-jupyter.ipynb'); - cy.addServer(); - }); - - // }); - it('Publish Jupyter Notebook', () => { - cy.visit('http://client:9999/tree/integration-testing/content/notebook/stock-report-jupyter.ipynb'); - cy.wait(1000); - cy.get('button[data-jupyter-action="rsconnect_jupyter:publish"]').click(); - cy.get('a[id="publish-to-connect"]').click(); - cy.wait(1000); - cy.get('button[id="rsc-add-files"]').click(); - cy.wait(1000); - cy.get('input[name="quandl-wiki-tsla.json.gz"]').click(); - cy.wait(1000); - cy.get('button[id="add-files-dialog-accept"]').click(); - cy.wait(1000); - cy.get('li[class="list-group-item"]').first().should('have.text'," quandl-wiki-tsla.json.gz"); - cy.wait(1000); - cy.get('a[class="btn btn-primary"]').last().should('have.text',"Publish").click({ force: true }); - cy.wait(1000); - cy.get('input[name="location"]').first().click(); - cy.wait(1000); - cy.get('a[class="btn btn-primary"]').last().should('have.text',"Next").click(); - cy.wait(1000); - cy.get('a[class="btn btn-primary"]').last().should('have.text',"Publish").click(); - cy.wait(1000); - // allow for 5 minutes to deploy content - cy.get('span[class="fa fa-link"]', { timeout: 300000 }).last().should('have.text'," Successfully published content").click(); - }); - it('Vist Content in Connect', () => { - cy.connectLogin(); - cy.visit('http://connect:3939'); - cy.get('div[class="content-table__display-name"]').first().contains('stock-report-jupyter').click(); - cy.contentiFrame().contains('Stock Report: TSLA'); - }); - - it('Remove Server', () => { - cy.visit('http://client:9999/tree/integration-testing/content/notebook/stock-report-jupyter.ipynb'); - cy.removeServer(); - }); -}); diff --git a/integration-testing/cypress/e2e/voila.cy.js b/integration-testing/cypress/e2e/voila.cy.js deleted file mode 100644 index e6082acb..00000000 --- a/integration-testing/cypress/e2e/voila.cy.js +++ /dev/null @@ -1,44 +0,0 @@ -describe('Publishing Voila Notebook', () => { - - it('Publish button loads', () => { - cy.visit('http://client:9999/tree/integration-testing/content/voila/index.ipynb'); - cy.get('button[data-jupyter-action="rsconnect_jupyter:publish"]').click(); - cy.get('a[id="publish-to-connect"]').should('be.visible') - }); - - it('Add Server Voila', () => { - cy.visit('http://client:9999/tree/integration-testing/content/voila/index.ipynb'); - cy.addServer(); - }); - - it('Publish Content', () => { - cy.visit('http://client:9999/tree/integration-testing/content/voila/index.ipynb'); - cy.wait(1000); - cy.get('button[data-jupyter-action="rsconnect_jupyter:publish"]').click(); - cy.get('a[id="publish-to-connect"]').click({ force: true }); - cy.wait(1000); - cy.get('a[id="rsc-publish-voila"]').click(); - cy.get('a[class="btn btn-primary"]').last().should('have.text',"Publish").click({ force: true }); - cy.wait(1000); - cy.get('input[name="location"]').first().click(); - cy.wait(1000); - cy.get('a[class="btn btn-primary"]').last().should('have.text',"Next").click(); - cy.wait(1000); - cy.get('a[class="btn btn-primary"]').last().should('have.text',"Publish").click(); - cy.wait(1000); - // allow for 5 minutes to deploy content - cy.get('span[class="fa fa-link"]', { timeout: 300000 }).last().should('have.text'," Successfully published content").click(); - }); - it('Vist Content in Connect', () => { - cy.connectLogin(); - cy.visit('http://connect:3939'); - cy.get('div[class="content-table__display-name"]').first().contains('index').click(); - cy.contentiFrame().contains('Plot the gaussian density'); - }); - - it('Remove Server', () => { - cy.visit('http://client:9999/tree/integration-testing/content/voila/index.ipynb'); - cy.removeServer(); - }); - -}); \ No newline at end of file diff --git a/integration-testing/cypress/plugins/index.js b/integration-testing/cypress/plugins/index.js deleted file mode 100644 index fd170fba..00000000 --- a/integration-testing/cypress/plugins/index.js +++ /dev/null @@ -1,17 +0,0 @@ -// *********************************************************** -// This example plugins/index.js can be used to load plugins -// -// You can change the location of this file or turn off loading -// the plugins file with the 'pluginsFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/plugins-guide -// *********************************************************** - -// This function is called when a project is opened or re-opened (e.g. due to -// the project's config changing) - -module.exports = (on, config) => { - // `on` is used to hook into various events Cypress emits - // `config` is the resolved Cypress config -} diff --git a/integration-testing/cypress/support/commands.js b/integration-testing/cypress/support/commands.js deleted file mode 100644 index 54575265..00000000 --- a/integration-testing/cypress/support/commands.js +++ /dev/null @@ -1,79 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add('login', (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) - -// https://www.cypress.io/blog/2020/02/12/working-with-iframes-in-cypress/ -Cypress.Commands.add('contentiFrame', (iframe) => { - // get the iframe > document > body - // and retry until the body element is not empty - cy.log('contentiFrame'); - - return cy - .get('iframe.appFrame', { log: false }) - .its('0.contentDocument.body') - .should('not.be.empty') - // wraps "body" DOM element to allow - // chaining more Cypress commands, like ".find(...)" - // https://on.cypress.io/wrap - .then((body) => cy.wrap(body, { log: false })); -}); - -Cypress.Commands.add('connectLogin', (user) => { - cy.request('POST', 'http://connect:3939/__login__', { - username: 'admin', - password: 'password', - }); -}); - -Cypress.Commands.add('addServer', () => { - cy.get('button[data-jupyter-action="rsconnect_jupyter:publish"]') - .click(); - cy.get('a[id="publish-to-connect"]').click({ force: true }); - cy.wait(1000); - cy.get('input[id="rsc-server"]').clear().type('http://connect:3939'); - cy.get('input[id="rsc-api-key"]').clear().type(Cypress.env('api_key')); - cy.get('input[id="rsc-servername"]').clear().type('http://connect:3939'); - cy.get('a[class="btn btn-primary"]').contains(' Add Server') - .click(); - cy.wait(1000); - cy.get('span[class="help-block"]').should('not.have.text',"Unable to verify"); -}); - -Cypress.Commands.add('removeServer', () => { - cy.get('button[data-jupyter-action="rsconnect_jupyter:publish"]') - .click(); - cy.get('a[id="publish-to-connect"]').click({ force: true }); - cy.wait(1000); - cy.get('div[id="rsc-select-server"]') - .contains('http://connect:3939') - .get('button[class="pull-right btn btn-danger btn-xs"]') - .click(); -}); - -// Cypress.Commands.add('setSessionStorage', (key, value) => { -// cy.window().then((window) => { -// window.sessionStorage.setItem(key, value) -// }) -// }) \ No newline at end of file diff --git a/integration-testing/cypress/support/e2e.js b/integration-testing/cypress/support/e2e.js deleted file mode 100644 index d68db96d..00000000 --- a/integration-testing/cypress/support/e2e.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/integration-testing/docker-compose.yml b/integration-testing/docker-compose.yml index 2ca1db0a..6cf6c5ac 100644 --- a/integration-testing/docker-compose.yml +++ b/integration-testing/docker-compose.yml @@ -1,33 +1,15 @@ version: '3' services: - client: - image: client - hostname: client - healthcheck: - test: ["CMD", "curl", "-f", "http://client:9999/tree"] - interval: 40s - timeout: 3s - retries: 30 - ports: - - 9999:9999 - build: - context: ./docker - dockerfile: client.Dockerfile - volumes: - - ../:/rsconnect-python - working_dir: /rsconnect-python/integration-testing - entrypoint: '' - client-cli: - build: + build: context: ./docker dockerfile: cli.Dockerfile - args: + args: QUARTO_VERSION: ${QUARTO_VERSION} PY_VERSION: ${PY_VERSION} volumes: - - ../:/rsconnect-python + - ../:/rsconnect-python working_dir: /rsconnect-python/integration-testing network_mode: host entrypoint: '' @@ -42,10 +24,10 @@ services: connect-cli: hostname: connect-cli image: rstudio/rstudio-connect:jammy - build: + build: context: ./docker dockerfile: connect.Dockerfile - args: + args: QUARTO_VERSION: ${QUARTO_VERSION} PY_VERSION: ${PY_VERSION} restart: always @@ -60,7 +42,7 @@ services: QUARTO_VERSION: ${QUARTO_VERSION} PY_VERSION: ${PY_VERSION} - # connect from public docker hub + # connect from public docker hub # used jupyter-notebook and deploy tests in CI, main.yml connect: hostname: connect @@ -74,19 +56,3 @@ services: environment: RSTUDIO_CONNECT_HASTE: "enabled" RSC_LICENSE: ${CONNECT_LICENSE} - - - cypress: - image: cypress/included:12.7.0 - depends_on: - client: - condition: service_healthy - build: - context: ./docker - dockerfile: cypress.Dockerfile - volumes: - - ../:/rsconnect-python - working_dir: /rsconnect-python/integration-testing/ - environment: - ADMIN_API_KEY: ${ADMIN_API_KEY} - entrypoint: '' diff --git a/integration-testing/docker/cli.Dockerfile b/integration-testing/docker/cli.Dockerfile index 7913e6b0..e5040141 100644 --- a/integration-testing/docker/cli.Dockerfile +++ b/integration-testing/docker/cli.Dockerfile @@ -1,6 +1,5 @@ ARG PY_VERSION=${PY_VERSION} FROM python:${PY_VERSION} -COPY ./requirements.txt . EXPOSE 9999 VOLUME ../../:/rsconnect-python/ @@ -35,11 +34,7 @@ RUN curl -fsSL -o miniconda.sh https://repo.anaconda.com/miniconda/Miniconda3-py && ./miniconda.sh -b -p /opt/miniconda \ && rm -rf miniconda.sh -RUN pip install rsconnect-jupyter --pre && \ - pip install pipenv && \ - jupyter-nbextension install --sys-prefix --py rsconnect_jupyter - RUN curl -fsSLO https://github.com/quarto-dev/quarto-cli/releases/download/v${QUARTO_VERSION}/quarto-${QUARTO_VERSION}-linux-amd64.tar.gz && \ mkdir /opt/quarto && tar xf quarto-${QUARTO_VERSION}-linux-amd64.tar.gz -C /opt/quarto --strip-components 1 && \ ( echo ""; echo 'export PATH=$PATH:/opt/quarto/bin' ; echo "" ) >> ~/.profile && \ - . ~/.profile \ No newline at end of file + . ~/.profile diff --git a/integration-testing/docker/client.Dockerfile b/integration-testing/docker/client.Dockerfile deleted file mode 100644 index 71a81125..00000000 --- a/integration-testing/docker/client.Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -FROM python:3.12 -COPY ./requirements.txt . -EXPOSE 9999 -VOLUME ../../:/rsconnect-python/ - -WORKDIR /rsconnect-python/integration-testing - -RUN apt-get update && \ - apt-get -y install sudo - -RUN mkdir -p /libs-client && \ - curl -fsSL https://github.com/casey/just/releases/download/1.1.2/just-1.1.2-x86_64-unknown-linux-musl.tar.gz \ - | tar -C /libs-client -xz just - -ENV PATH=$PATH:/libs-client - -RUN pip install rsconnect-jupyter --pre && \ - pip install pipenv && \ - jupyter-nbextension install --sys-prefix --py rsconnect_jupyter - -CMD cd ../ && \ - rm -rf ~/.jupyter/ && \ - pip install . && \ - jupyter-nbextension enable --sys-prefix --py rsconnect_jupyter && \ - jupyter-serverextension enable --sys-prefix --py rsconnect_jupyter && \ - jupyter-notebook \ - -y --ip='0.0.0.0' --port=9999 --no-browser --NotebookApp.token='' --allow-root diff --git a/integration-testing/docker/cypress.Dockerfile b/integration-testing/docker/cypress.Dockerfile deleted file mode 100644 index 24495820..00000000 --- a/integration-testing/docker/cypress.Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM cypress/included:13.6.4 - -RUN apt-get update -y && apt-get install -y --no-install-recommends \ - jq \ - curl - -RUN mkdir -p /libs-cypress && \ - curl -fsSL https://github.com/casey/just/releases/download/1.1.2/just-1.1.2-x86_64-unknown-linux-musl.tar.gz \ - | tar -C /libs-cypress -xz just - -ENV ADMIN_API_KEY=${ADMIN_API_KEY} -ENV PATH=$PATH:/libs-cypress -CMD cypress run --browser chrome --env api_key=${ADMIN_API_KEY} -# CMD run cypress:open --env api_key=${ADMIN_API_KEY} diff --git a/integration-testing/docker/requirements.txt b/integration-testing/docker/requirements.txt deleted file mode 100644 index d54fbe44..00000000 --- a/integration-testing/docker/requirements.txt +++ /dev/null @@ -1 +0,0 @@ -rsconnect-jupyter diff --git a/integration-testing/justfile b/integration-testing/justfile deleted file mode 100644 index 5e654997..00000000 --- a/integration-testing/justfile +++ /dev/null @@ -1,77 +0,0 @@ -export RSC_LICENSE := env_var_or_default("RSC_LICENSE", "$CONNECT_LICENSE") -export ADMIN_API_KEY := env_var_or_default('ADMIN_API_KEY', "${ADMIN_API_KEY}") -export QUARTO_VERSION := env_var_or_default('QUARTO_VERSION', '1.4.546') - - -all: - just up && just up-cypress - -build: - ADMIN_API_KEY=${ADMIN_API_KEY} \ - docker compose build - -up: - docker compose pull connect && \ - docker compose up -d client && docker compose up -d connect - -up-cypress: - docker compose up cypress --exit-code-from cypress - -# use this target if you want to run Cypress -# without shutting down all containers after each run -up-cypress-local: - docker compose up cypress - -run-client: - docker compose exec -it \ - client \ - just setup-client - -setup-client: - #!/bin/bash - python -m venv ./client-python/ && \ - . ./client-python/bin/activate && \ - cd ../ && \ - pip install . && \ - jupyter-nbextension enable --sys-prefix --py rsconnect_jupyter && \ - jupyter-serverextension enable --sys-prefix --py rsconnect_jupyter && \ - jupyter-notebook \ - -y --ip='0.0.0.0' --port=9999 --no-browser --NotebookApp.token='' --allow-root - -run-connect: - docker compose exec -it \ - connect - -run-cypress: - docker compose exec --rm \ - cypress \ - cypress run --browser chrome - -bash-cypress: - docker compose run --rm cypress \ - /bin/bash - -bash-client: - docker compose run --rm client \ - /bin/bash - -bash-connect: - docker compose run --rm connect \ - /bin/bash - -inspect-client: - docker compose exec -it client /bin/bash - -inspect-cypress: - docker compose exec -it cypress /bin/bash - -inspect-connect: - docker compose exec -it connect /bin/bash - -stop: - docker compose down --volumes --remove-orphans && \ - rm -rf ../dist/rsconnect_python-*.whl - -rm-config: - docker compose exec -it client \ - rm -rf /root/.jupyter