diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..1950788 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +.git +.github +.pytest_cache +.coverage +e2e-test +__pycache__ +*.egg-info diff --git a/.github/docker-compose.rdmfs-e2e.yml b/.github/docker-compose.rdmfs-e2e.yml new file mode 100644 index 0000000..3be546a --- /dev/null +++ b/.github/docker-compose.rdmfs-e2e.yml @@ -0,0 +1,13 @@ +services: + wb: + ports: !reset [] + + waterbutler_proxy: + image: nginx:1.27-alpine + restart: unless-stopped + depends_on: + - wb + ports: + - "7777:80" + volumes: + - "${GITHUB_WORKSPACE}/.github/nginx/waterbutler.conf:/etc/nginx/conf.d/default.conf:ro" diff --git a/.github/nginx/waterbutler.conf b/.github/nginx/waterbutler.conf new file mode 100644 index 0000000..c4df8fc --- /dev/null +++ b/.github/nginx/waterbutler.conf @@ -0,0 +1,15 @@ +server { + listen 80; + server_name _; + + client_max_body_size 9999m; + + location / { + proxy_buffering off; + proxy_request_buffering off; + proxy_http_version 1.0; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://wb:7777; + } +} diff --git a/.github/workflows/e2e-test.yml b/.github/workflows/e2e-test.yml new file mode 100644 index 0000000..2972ca0 --- /dev/null +++ b/.github/workflows/e2e-test.yml @@ -0,0 +1,239 @@ +name: RDMFS E2E test + +on: + pull_request: + branches: + - main + push: + branches: + - main + - feature/** + workflow_dispatch: + inputs: + rdm_repository: + description: RDM-osf.io repository + required: false + default: RCOSDP/RDM-osf.io + rdm_ref: + description: RDM-osf.io ref + required: false + default: develop + +permissions: + contents: read + +jobs: + e2e: + name: ${{ matrix.storage.display_name }} + runs-on: ubuntu-latest + timeout-minutes: 120 + strategy: + fail-fast: false + matrix: + storage: + - id: osfstorage + display_name: NII Storage + minio_enabled: 'false' + - id: s3compatsigv4 + display_name: S3 Compatible Storage (SigV4) + minio_enabled: 'true' + + env: + COMPOSE_FILE: docker-compose.yml:docker-compose.override.yml:${{ github.workspace }}/.github/docker-compose.rdmfs-e2e.yml + RDM_URL: http://192.168.168.167:5000/ + RDM_API_URL: http://192.168.168.167:8000/v2/ + RDMFS_E2E_USERNAME: rdmfs-e2e@example.com + RDMFS_E2E_PASSWORD: rdmfs-e2e-password + RDMFS_E2E_INSTITUTION: Virginia Tech [Test] + MINIO_ENABLED: ${{ matrix.storage.minio_enabled }} + MINIO_ALIAS: local + MINIO_ENDPOINT: http://minio:9000 + MINIO_ROOT_USER: rdmfs-root + MINIO_BUCKET: rdmfs-e2e + MINIO_DUMMY_BUCKET: rdmfs-e2e-dummy + + steps: + - name: Check out rdmfs and E2E resources + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Check out RDM-osf.io + uses: actions/checkout@v4 + with: + repository: ${{ inputs.rdm_repository || 'RCOSDP/RDM-osf.io' }} + ref: ${{ inputs.rdm_ref || 'develop' }} + path: RDM-osf.io + fetch-depth: 0 + + - name: Configure Docker data root + run: | + sudo systemctl stop docker + sudo mkdir -p /mnt/docker + sudo tee /etc/docker/daemon.json <<'EOF' + { + "data-root": "/mnt/docker" + } + EOF + sudo systemctl start docker + docker info + + - name: Install Docker Compose + run: | + sudo curl -fL "https://github.com/docker/compose/releases/download/v2.40.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + sudo chmod +x /usr/local/bin/docker-compose + docker-compose version + + - name: Configure RDM host address + run: sudo ifconfig lo:0 192.168.168.167 netmask 255.255.255.255 up + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.12' + + - name: Install Notebook dependencies + working-directory: e2e-test/resources + run: | + python -m pip install --upgrade pip + python -m pip install --no-cache-dir -r requirements.txt + playwright install --with-deps chromium + + - name: Build the bundled rdmfs Dockerfile + run: docker build -t rdmfs:e2e . + + - name: Build Elasticsearch with Kuromoji + working-directory: e2e-test/resources + run: | + docker build -t elasticsearch-kuromoji:e2e \ + -f docker/elasticsearch/Dockerfile.amd64 docker/elasticsearch + echo 'ELASTICSEARCH_IMAGE=elasticsearch-kuromoji:e2e' >> "$GITHUB_ENV" + + - name: Generate MinIO credentials + if: matrix.storage.minio_enabled == 'true' + run: | + minio_root_password=$(openssl rand -hex 24) + minio_access_key=$(openssl rand -hex 10) + minio_secret_key=$(openssl rand -hex 24) + minio_dummy_access_key=$(openssl rand -hex 10) + minio_dummy_secret_key=$(openssl rand -hex 24) + + echo "::add-mask::$minio_root_password" + echo "::add-mask::$minio_access_key" + echo "::add-mask::$minio_secret_key" + echo "::add-mask::$minio_dummy_access_key" + echo "::add-mask::$minio_dummy_secret_key" + + echo "MINIO_ROOT_PASSWORD=$minio_root_password" >> "$GITHUB_ENV" + echo "MINIO_ACCESS_KEY=$minio_access_key" >> "$GITHUB_ENV" + echo "MINIO_SECRET_KEY=$minio_secret_key" >> "$GITHUB_ENV" + echo "MINIO_DUMMY_ACCESS_KEY=$minio_dummy_access_key" >> "$GITHUB_ENV" + echo "MINIO_DUMMY_SECRET_KEY=$minio_dummy_secret_key" >> "$GITHUB_ENV" + + - name: Configure RDM services + working-directory: RDM-osf.io + run: | + source "${GITHUB_WORKSPACE}/e2e-test/resources/.github/scripts/setup_rdm.sh" + setup_config_files + create_docker_override + + - name: Install RDM requirements + working-directory: RDM-osf.io + run: | + source "${GITHUB_WORKSPACE}/e2e-test/resources/.github/scripts/setup_rdm.sh" + install_requirements + timeout-minutes: 15 + + - name: Initialize RDM database + working-directory: RDM-osf.io + run: | + source "${GITHUB_WORKSPACE}/e2e-test/resources/.github/scripts/setup_rdm.sh" + run_migrations + compile_translations + start_asset_services + + - name: Start RDM services + working-directory: RDM-osf.io + run: | + source "${GITHUB_WORKSPACE}/e2e-test/resources/.github/scripts/setup_rdm.sh" + start_rdm_services + docker-compose up -d waterbutler_proxy + test_rdm_endpoints + + - name: Register OAuth scopes + working-directory: RDM-osf.io + run: docker-compose run --rm web python3 -m scripts.register_oauth_scopes + + - name: Create the dedicated user fixture without a project + working-directory: RDM-osf.io + run: | + docker-compose run --rm web python3 -m scripts.populate_institutions -e test -a + docker cp "${GITHUB_WORKSPACE}/e2e-test/setup_test_user.py" "$(docker-compose ps -q web)":/tmp/setup_test_user.py + docker-compose exec -T \ + -e RDMFS_E2E_USERNAME \ + -e RDMFS_E2E_PASSWORD \ + -e RDMFS_E2E_INSTITUTION \ + web bash -c 'python3 manage.py shell < /tmp/setup_test_user.py' + + - name: Initialize MinIO + if: matrix.storage.minio_enabled == 'true' + working-directory: e2e-test/resources + run: | + .github/scripts/setup_minio_buckets.sh \ + ../../RDM-osf.io \ + "$MINIO_ALIAS" \ + "$MINIO_ENDPOINT" \ + "$MINIO_ROOT_USER" \ + "$MINIO_ROOT_PASSWORD" \ + "$MINIO_ACCESS_KEY" "$MINIO_SECRET_KEY" "$MINIO_BUCKET" \ + "$MINIO_DUMMY_ACCESS_KEY" "$MINIO_DUMMY_SECRET_KEY" "$MINIO_DUMMY_BUCKET" + + - name: Run the bidirectional Notebook + working-directory: e2e-test + run: | + mkdir -p result + papermill \ + テスト手順-rdmfs-ストレージ双方向操作.ipynb \ + "result/${{ matrix.storage.id }}.ipynb" \ + -p rdm_url "$RDM_URL" \ + -p rdm_api_url "$RDM_API_URL" \ + -p idp_name_1 FakeCAS \ + -p read_credentials_from_environment true \ + -p rdm_project_name "TEST-RDMFS-${{ matrix.storage.id }}-${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" \ + -p target_storage_id "${{ matrix.storage.id }}" \ + -p target_storage_name "${{ matrix.storage.display_name }}" \ + -p minio_enabled "${{ matrix.storage.minio_enabled }}" \ + -p minio_service_name 'MinIO (CI)' \ + -p minio_bucket "$MINIO_BUCKET" \ + -p default_result_path "${GITHUB_WORKSPACE}/e2e-test/result/${{ matrix.storage.id }}" \ + -p transition_timeout 60000 \ + -p sync_timeout 60 + + - name: Show service status and logs + if: always() + working-directory: RDM-osf.io + run: | + rdmfs_container=$(docker container ls -a --filter 'name=^/rdmfs-e2e$' --format '{{.Names}}') + if [ "$rdmfs_container" = 'rdmfs-e2e' ]; then + docker logs rdmfs-e2e + fi + docker-compose ps -a + docker-compose logs --no-color + + - name: Upload Notebook evidence + if: always() + uses: actions/upload-artifact@v4 + with: + name: rdmfs-e2e-${{ matrix.storage.id }} + path: e2e-test/result/ + if-no-files-found: warn + + - name: Tear down E2E services + if: always() + run: | + container_name=$(docker container ls -a --filter 'name=^/rdmfs-e2e$' --format '{{.Names}}') + if [ "$container_name" = 'rdmfs-e2e' ]; then + docker rm -f rdmfs-e2e + fi + cd RDM-osf.io + docker-compose down --volumes diff --git a/.gitignore b/.gitignore index 2b924fb..a77d2c0 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ sample.txt *.egg-info __pycache__ +e2e-test/result/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b57eadd --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "e2e-test/resources"] + path = e2e-test/resources + url = https://github.com/RCOSDP/RDM-e2e-test-nb.git diff --git a/e2e-test/resources b/e2e-test/resources new file mode 160000 index 0000000..4076071 --- /dev/null +++ b/e2e-test/resources @@ -0,0 +1 @@ +Subproject commit 4076071046fd6378d655f223f5afb49de7e27b3c diff --git a/e2e-test/setup_test_user.py b/e2e-test/setup_test_user.py new file mode 100644 index 0000000..66bdc62 --- /dev/null +++ b/e2e-test/setup_test_user.py @@ -0,0 +1,52 @@ +import os + +from django.utils import timezone +from osf.models import Institution, OSFUser + + +username = os.environ['RDMFS_E2E_USERNAME'] +password = os.environ['RDMFS_E2E_PASSWORD'] +institution_name = os.environ['RDMFS_E2E_INSTITUTION'] + +assert not OSFUser.objects.filter(username=username).exists(), ( + f'The dedicated E2E user already exists: {username}' +) +user = OSFUser( + username=username, + fullname='RDMFS E2E User', + given_name='RDMFS', + family_name='E2E User', + given_name_ja='RDMFS', + family_name_ja='E2Eユーザー', + is_active=True, + date_registered=timezone.now(), +) +user.set_password(password) +user.save() +user.is_registered = True +user.date_confirmed = timezone.now() +user.have_email = True +user.jobs = [{ + 'institution': institution_name, + 'department': None, + 'institution_ja': institution_name, + 'department_ja': None, + 'title': None, + 'startMonth': None, + 'startYear': None, + 'endMonth': None, + 'endYear': None, + 'ongoing': None, +}] +user.save() +user.emails.create(address=username) +print(f'Created test user without a project: {username}') + +institution = Institution.objects.get(name=institution_name) +user.affiliated_institutions.add(institution) +user.save() +print(f'Affiliated {username} with {institution_name}') + +assert not user.nodes.filter(category='project').exists(), ( + f'The dedicated E2E user unexpectedly has a project: {username}' +) diff --git "a/e2e-test/\343\203\206\343\202\271\343\203\210\346\211\213\351\240\206-rdmfs-\343\202\271\343\203\210\343\203\254\343\203\274\343\202\270\345\217\214\346\226\271\345\220\221\346\223\215\344\275\234.ipynb" "b/e2e-test/\343\203\206\343\202\271\343\203\210\346\211\213\351\240\206-rdmfs-\343\202\271\343\203\210\343\203\254\343\203\274\343\202\270\345\217\214\346\226\271\345\220\221\346\223\215\344\275\234.ipynb" new file mode 100644 index 0000000..d70cfc8 --- /dev/null +++ "b/e2e-test/\343\203\206\343\202\271\343\203\210\346\211\213\351\240\206-rdmfs-\343\202\271\343\203\210\343\203\254\343\203\274\343\202\270\345\217\214\346\226\271\345\220\221\346\223\215\344\275\234.ipynb" @@ -0,0 +1,3709 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "56e3e33b-cbb9-484f-be9a-769c04926fb9", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:30:58.544932Z", + "iopub.status.busy": "2026-01-06T08:30:58.543938Z", + "iopub.status.idle": "2026-01-06T08:30:58.551329Z", + "shell.execute_reply": "2026-01-06T08:30:58.550407Z" + }, + "lc_cell_meme": { + "current": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-14-c2c3-a856-8c7b-03e6-653e-956c-acc8-ea3f-a6c1-9833", + "history": [ + { + "current": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-1-a21c", + "next": "8b5ce6a0-80d5-11ed-95e1-0242ac120004-8-490a-05fb-01ac-29c3-d4dc-cf29-6b30-a674", + "previous": "8b5ce66e-80d5-11ed-95e1-0242ac120004-8-cb1b-42bc-e44d-4556-863e-9370-b5f5-e658" + }, + { + "current": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-1-a21c", + "next": "8b5ce6a0-80d5-11ed-95e1-0242ac120004-8-490a-05fb-01ac-29c3-d4dc-cf29-6b30-a674", + "previous": "8b5ce66e-80d5-11ed-95e1-0242ac120004-8-cb1b-42bc-e44d-4556-863e-9370-b5f5-e658" + }, + { + "current": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-12-54e5-e070-c2c3-a856-8c7b-03e6-653e-956c-acc8-ea3f", + "next": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-8-3215-63a8-fef2-2947-bb68-4605-cbe7-374c", + "previous": "6908a22a-3a5e-11f0-8d62-b672e09b3688" + } + ], + "next": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-12-fef2-2947-bb68-4605-cbe7-374c-f640-ff71-be7d-4c29" + }, + "papermill": { + "duration": 0.058639, + "end_time": "2026-01-06T08:30:58.553421", + "exception": false, + "start_time": "2026-01-06T08:30:58.494782", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "slideshow": { + "slide_type": "" + }, + "tags": [ + "parameters" + ] + }, + "outputs": [], + "source": [ + "from datetime import datetime\n", + "from getpass import getpass\n", + "\n", + "rdm_url = 'http://localhost:5000/'\n", + "rdm_api_url = 'http://localhost:8000/v2/'\n", + "idp_name_1 = 'FakeCAS'\n", + "idp_username_1 = None\n", + "idp_password_1 = None\n", + "rdm_project_name = 'TEST-RDMFS-{}'.format(datetime.now().strftime('%Y%m%d-%H%M%S'))\n", + "target_storage_name = 'NII Storage'\n", + "target_storage_id = 'osfstorage'\n", + "minio_enabled = False\n", + "minio_service_name = 'MinIO (CI)'\n", + "minio_access_key = None\n", + "minio_secret_key = None\n", + "minio_bucket = None\n", + "read_credentials_from_environment = False\n", + "rdmfs_image = 'rdmfs:e2e'\n", + "rdmfs_container_name = 'rdmfs-e2e'\n", + "rdmfs_mount_path = '/mnt/test'\n", + "default_result_path = None\n", + "close_on_fail = False\n", + "transition_timeout = 60000\n", + "sync_timeout = 60\n", + "sync_poll_interval = 2\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f2397f2c-07d5-4548-8855-0024b98a7e18", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:30:58.716093Z", + "iopub.status.busy": "2026-01-06T08:30:58.715135Z", + "iopub.status.idle": "2026-01-06T08:30:58.728917Z", + "shell.execute_reply": "2026-01-06T08:30:58.727989Z" + }, + "lc_cell_meme": { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-12-fef2-2947-bb68-4605-cbe7-374c-f640-ff71-be7d-4c29", + "execution_end_time": "2025-04-02T07:21:16.844Z", + "history": [ + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-2-a21c-c06b" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "a0674b68-0c3c-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-2-a21c-c06b" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "d95d6308-0c3c-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-2-a21c-c06b" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "a8832c1c-0c3d-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-2-a21c-c06b" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "e7480d50-0c3d-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-2-a21c-c06b" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-2-a21c-c06b" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-2-a21c-c06b" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-3-a21c-c06b-54e5" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "f93f2d46-0c46-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-3-a21c-c06b-54e5" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "3295fed4-0c48-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-3-a21c-c06b-54e5" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "6a84eba0-0c4a-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-3-a21c-c06b-54e5" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "6d481ba6-0c53-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-3-a21c-c06b-54e5" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "221c4f0a-0c56-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-3-a21c-c06b-54e5" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "19d7ea5a-0c5d-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-3-a21c-c06b-54e5" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "377594ca-0c6e-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-3-3215-63a8-fef2", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-3-a21c-c06b-54e5" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-3-3215-63a8-fef2", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-4-4202-aef0-78b6-aec7", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-5-a21c-c06b-54e5-e070-c2c3" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-3-3215-63a8-fef2", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-4-4202-aef0-78b6-aec7", + "previous": "3d89aa08-0f94-11f0-935e-6e323efef16c" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-5-3215-63a8-fef2-2947-bb68", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-4-4202-aef0-78b6-aec7", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-5-a21c-c06b-54e5-e070-c2c3" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-8-3215-63a8-fef2-2947-bb68-4605-cbe7-374c", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-6-4202-aef0-78b6-aec7-edd7-31c7", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-7-a21c-c06b-54e5-e070-c2c3-a856-8c7b" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-10-3215-63a8-fef2-2947-bb68-4605-cbe7-374c-f640-ff71", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-9-4202-aef0-78b6-aec7-edd7-31c7-2760-8094-dfda", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-10-a21c-c06b-54e5-e070-c2c3-a856-8c7b-03e6-653e-956c" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-11-63a8-fef2-2947-bb68-4605-cbe7-374c-f640-ff71-be7d", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-11-aef0-78b6-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-12-54e5-e070-c2c3-a856-8c7b-03e6-653e-956c-acc8-ea3f" + }, + { + "current": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-12-fef2-2947-bb68-4605-cbe7-374c-f640-ff71-be7d-4c29", + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-12-78b6-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22-1950", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-13-e070-c2c3-a856-8c7b-03e6-653e-956c-acc8-ea3f-a6c1" + } + ], + "next": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-13-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22-1950-ac2f", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-14-c2c3-a856-8c7b-03e6-653e-956c-acc8-ea3f-a6c1-9833" + }, + "papermill": { + "duration": 0.049292, + "end_time": "2026-01-06T08:30:58.730882", + "exception": false, + "start_time": "2026-01-06T08:30:58.681590", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import os\n", + "import tempfile\n", + "\n", + "if isinstance(minio_enabled, str):\n", + " assert minio_enabled in ['true', 'false'], minio_enabled\n", + " minio_enabled = minio_enabled.lower() == 'true'\n", + "if isinstance(read_credentials_from_environment, str):\n", + " assert read_credentials_from_environment in ['true', 'false'], (\n", + " read_credentials_from_environment\n", + " )\n", + " read_credentials_from_environment = (\n", + " read_credentials_from_environment.lower() == 'true'\n", + " )\n", + "\n", + "if read_credentials_from_environment:\n", + " idp_username_1 = os.environ['RDMFS_E2E_USERNAME']\n", + " idp_password_1 = os.environ['RDMFS_E2E_PASSWORD']\n", + " if minio_enabled:\n", + " minio_access_key = os.environ['MINIO_ACCESS_KEY']\n", + " minio_secret_key = os.environ['MINIO_SECRET_KEY']\n", + "elif idp_username_1 is None:\n", + " idp_username_1 = input(prompt=f'Username for {idp_name_1}')\n", + "\n", + "if idp_password_1 is None:\n", + " idp_password_1 = getpass(prompt=f'Password for {idp_username_1}@{idp_name_1}')\n", + "if minio_enabled and minio_access_key is None:\n", + " minio_access_key = input(prompt='MinIO access key')\n", + "if minio_enabled and minio_secret_key is None:\n", + " minio_secret_key = getpass(prompt='MinIO secret key')\n", + "if minio_enabled and minio_bucket is None:\n", + " minio_bucket = input(prompt='MinIO bucket')\n", + "\n", + "work_dir = tempfile.mkdtemp(prefix='rdmfs-e2e-')\n", + "if default_result_path is None:\n", + " default_result_path = work_dir\n", + "os.makedirs(default_result_path, exist_ok=True)\n", + "" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "25e8c9ab-046c-4962-9ced-d4c9ada8f385", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:30:58.784302Z", + "iopub.status.busy": "2026-01-06T08:30:58.783286Z", + "iopub.status.idle": "2026-01-06T08:30:58.791298Z", + "shell.execute_reply": "2026-01-06T08:30:58.790347Z" + }, + "lc_cell_meme": { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-13-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22-1950-ac2f", + "execution_end_time": "2025-04-02T07:21:20.767Z", + "history": [ + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "next": "8b5ce66e-80d5-11ed-95e1-0242ac120004-8-cb1b-42bc-e44d-4556-863e-9370-b5f5-e658", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-1-a21c" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-1-4202", + "next": "8b5ce66e-80d5-11ed-95e1-0242ac120004-9-cb1b-42bc-e44d-4556-863e-9370-b5f5-e658-7a0b", + "previous": "f05363a8-0c25-11f0-98e9-5e0a5654d7bd-2-a21c-c06b" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "next": "8b5ce66e-80d5-11ed-95e1-0242ac120004-9-cb1b-42bc-e44d-4556-863e-9370-b5f5-e658-7a0b", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "next": "8b5ce66e-80d5-11ed-95e1-0242ac120004-9-cb1b-42bc-e44d-4556-863e-9370-b5f5-e658-7a0b", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "next": "8b5ce66e-80d5-11ed-95e1-0242ac120004-9-cb1b-42bc-e44d-4556-863e-9370-b5f5-e658-7a0b", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "next": "8b5ce66e-80d5-11ed-95e1-0242ac120004-10-cb1b-42bc-e44d-4556-863e-9370-b5f5-e658-7a0b-7f11", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "next": "a72e1754-0c48-11f0-98e9-5e0a5654d7bd", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-2-4202-aef0", + "next": "c31532b8-0c48-11f0-98e9-5e0a5654d7bd", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-4-4202-aef0-78b6-aec7", + "next": "a72e1754-0c48-11f0-98e9-5e0a5654d7bd", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-1-3215" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-4-4202-aef0-78b6-aec7", + "next": "a72e1754-0c48-11f0-98e9-5e0a5654d7bd-2-ce6c-93ea", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-3-3215-63a8-fef2" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-4-4202-aef0-78b6-aec7", + "next": "1c54d2da-e7f9-11ef-8804-e664e9f91ae7-1-2d5f", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-3-3215-63a8-fef2" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-4-4202-aef0-78b6-aec7", + "next": "3fc93bb8-0422-11ef-b901-9ee4ca18f90f-8-35a7-1d1a-1ede-4669-1870-7a72-9171-0797", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-3-3215-63a8-fef2" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-6-4202-aef0-78b6-aec7-edd7-31c7", + "next": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-19-203e-b853-19b6-77dd-b596-bf8f-163f-5d22-9918-9884", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-3-3215-63a8-fef2" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-9-4202-aef0-78b6-aec7-edd7-31c7-2760-8094-dfda", + "next": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-21-19b6-77dd-b596-bf8f-163f-5d22-9918-9884-a621-ea89", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-5-3215-63a8-fef2-2947-bb68" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-11-aef0-78b6-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22", + "next": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-24-bf8f-163f-5d22-9918-9884-a621-ea89-5bdf-460c-9b7f", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-8-3215-63a8-fef2-2947-bb68-4605-cbe7-374c" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-12-78b6-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22-1950", + "next": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-26-5d22-9918-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-10-3215-63a8-fef2-2947-bb68-4605-cbe7-374c-f640-ff71" + }, + { + "current": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-13-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22-1950-ac2f", + "next": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-27-9918-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33-b43f", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-11-63a8-fef2-2947-bb68-4605-cbe7-374c-f640-ff71-be7d" + } + ], + "next": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-28-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33-b43f-9477", + "previous": "9a6a67cc-0c28-11f0-98e9-5e0a5654d7bd-12-fef2-2947-bb68-4605-cbe7-374c-f640-ff71-be7d-4c29" + }, + "papermill": { + "duration": 0.035938, + "end_time": "2026-01-06T08:30:58.793405", + "exception": false, + "start_time": "2026-01-06T08:30:58.757467", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "assert target_storage_id in ['osfstorage', 's3compatsigv4']\n", + "assert (target_storage_id == 's3compatsigv4') == minio_enabled\n", + "assert sync_timeout \u003c 180, 'The test must not wait out the current list-cache TTL'\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "35f0fdc3-5dd4-4af0-9c5e-00e08ac864eb", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-28-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33-b43f-9477", + "history": [ + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5", + "next": "c80dfbd7-dae2-11ec-852a-2f7bec2724a5", + "previous": "c80dfb22-dae2-11ec-9361-2f7bec2724a5" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5", + "previous": "c80dfb22-dae2-11ec-9361-2f7bec2724a5" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5", + "previous": "572ca533-dae3-11ec-a526-2f7bec2724a5" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-1-c6ac", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5", + "previous": "7519f85c-daf7-11ec-8914-2f7bec2724a5" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-2-c6ac-d8cc", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-1-a8e4", + "previous": "7519f85c-daf7-11ec-8914-2f7bec2724a5-1-419b" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-2-c6ac-d8cc", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-2-a8e4-0900", + "previous": "7519f85c-daf7-11ec-8914-2f7bec2724a5-2-419b-9f1b" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-3-c6ac-d8cc-9101", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-2-a8e4-0900", + "previous": "572ca533-dae3-11ec-a526-2f7bec2724a5-2-b1ea-e4d2" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-3-c6ac-d8cc-9101", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-3-a8e4-0900-6df2", + "previous": "572ca533-dae3-11ec-a526-2f7bec2724a5-3-b1ea-e4d2-4da7" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-4-c6ac-d8cc-9101-f09b", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-3-a8e4-0900-6df2", + "previous": "4f7b928b-e3be-11ec-9a45-ff50a9a253bb" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-4-c6ac-d8cc-9101-f09b", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-4-a8e4-0900-6df2-eea0", + "previous": "4f7b928b-e3be-11ec-9a45-ff50a9a253bb-1-5ec5" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-5-c6ac-d8cc-9101-f09b-2a39", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-4-a8e4-0900-6df2-eea0", + "previous": "9d4dfe16-b985-11ed-a36f-7348ef25128a" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-6-c6ac-d8cc-9101-f09b-2a39-24f8", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-5-a8e4-0900-6df2-eea0-6314", + "previous": "9d4dfe16-b985-11ed-a36f-7348ef25128a-1-018c" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-9-c6ac-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-6-a8e4-0900-6df2-eea0-6314-e99d", + "previous": "9d4dfe16-b985-11ed-a36f-7348ef25128a-2-018c-6a2a" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-10-c6ac-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-7-a8e4-0900-6df2-eea0-6314-e99d-fa8c", + "previous": "9d4dfe16-b985-11ed-a36f-7348ef25128a-3-018c-6a2a-b802" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-10-c6ac-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-8-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3", + "previous": "a619f160-0421-11ef-b901-9ee4ca18f90f" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-10-c6ac-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-8-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3", + "previous": "a619f160-0421-11ef-b901-9ee4ca18f90f" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-10-c6ac-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-8-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3", + "previous": "a619f160-0421-11ef-b901-9ee4ca18f90f-1-4dd5" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-10-c6ac-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-8-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3", + "previous": "ade3434c-0421-11ef-b901-9ee4ca18f90f" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-10-c6ac-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-8-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3", + "previous": "ade3434c-0421-11ef-b901-9ee4ca18f90f" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-10-c6ac-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-8-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3", + "previous": "ade3434c-0421-11ef-b901-9ee4ca18f90f-1-e9c4" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-10-c6ac-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-8-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3", + "previous": "b7b0487a-0421-11ef-b901-9ee4ca18f90f" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-11-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e-b853", + "next": "30566b41-858e-11ed-9c5b-3d3a5b1d1d12-4-6e2d-1d0a-78dd-514a", + "previous": "b7b0487a-0421-11ef-b901-9ee4ca18f90f" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-11-d8cc-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e-b853", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-9-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3-65aa", + "previous": "fdf30c32-0421-11ef-b901-9ee4ca18f90f" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-12-9101-f09b-2a39-24f8-3c3b-7ad6-350d-203e-b853-19b6", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-9-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3-65aa", + "previous": "3fc93bb8-0422-11ef-b901-9ee4ca18f90f" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-13-f09b-2a39-24f8-3c3b-7ad6-350d-203e-b853-19b6-77dd", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-10-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3-65aa-c3b1", + "previous": "3fc93bb8-0422-11ef-b901-9ee4ca18f90f-1-35a7" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-14-2a39-24f8-3c3b-7ad6-350d-203e-b853-19b6-77dd-b596", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-11-0900-6df2-eea0-6314-e99d-fa8c-51c3-65aa-c3b1-cbc5", + "previous": "3fc93bb8-0422-11ef-b901-9ee4ca18f90f-2-35a7-1d1a" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-15-24f8-3c3b-7ad6-350d-203e-b853-19b6-77dd-b596-bf8f", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-12-6df2-eea0-6314-e99d-fa8c-51c3-65aa-c3b1-cbc5-a521", + "previous": "3fc93bb8-0422-11ef-b901-9ee4ca18f90f-3-35a7-1d1a-1ede" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-17-7ad6-350d-203e-b853-19b6-77dd-b596-bf8f-163f-5d22", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-13-eea0-6314-e99d-fa8c-51c3-65aa-c3b1-cbc5-a521-c15f", + "previous": "3fc93bb8-0422-11ef-b901-9ee4ca18f90f-4-35a7-1d1a-1ede-4669" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-18-350d-203e-b853-19b6-77dd-b596-bf8f-163f-5d22-9918", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-15-e99d-fa8c-51c3-65aa-c3b1-cbc5-a521-c15f-b883-48b3", + "previous": "3fc93bb8-0422-11ef-b901-9ee4ca18f90f-6-35a7-1d1a-1ede-4669-1870-7a72" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-19-203e-b853-19b6-77dd-b596-bf8f-163f-5d22-9918-9884", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-16-fa8c-51c3-65aa-c3b1-cbc5-a521-c15f-b883-48b3-9d46", + "previous": "3fc93bb8-0422-11ef-b901-9ee4ca18f90f-7-35a7-1d1a-1ede-4669-1870-7a72-9171" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-19-203e-b853-19b6-77dd-b596-bf8f-163f-5d22-9918-9884", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-17-51c3-65aa-c3b1-cbc5-a521-c15f-b883-48b3-9d46-065e", + "previous": "3fc93bb8-0422-11ef-b901-9ee4ca18f90f-8-35a7-1d1a-1ede-4669-1870-7a72-9171-0797" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-21-19b6-77dd-b596-bf8f-163f-5d22-9918-9884-a621-ea89", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-17-51c3-65aa-c3b1-cbc5-a521-c15f-b883-48b3-9d46-065e", + "previous": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-4-4202-aef0-78b6-aec7" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-24-bf8f-163f-5d22-9918-9884-a621-ea89-5bdf-460c-9b7f", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-19-c3b1-cbc5-a521-c15f-b883-48b3-9d46-065e-f53e-9bff", + "previous": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-6-4202-aef0-78b6-aec7-edd7-31c7" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-26-5d22-9918-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-22-c15f-b883-48b3-9d46-065e-f53e-9bff-8161-b4a4-a95b", + "previous": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-9-4202-aef0-78b6-aec7-edd7-31c7-2760-8094-dfda" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-26-5d22-9918-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33", + "next": "0f904455-dae3-11ec-9d35-2f7bec2724a5-24-48b3-9d46-065e-f53e-9bff-8161-b4a4-a95b-9738-0db8", + "previous": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-11-aef0-78b6-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-27-9918-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33-b43f", + "next": "9598145a-f29d-11ea-b359-0a58a9feac02-31-8adf-0009-1540-66e7-e779-1196-efeb-205d-1efd-4009", + "previous": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-11-aef0-78b6-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22" + }, + { + "current": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-28-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33-b43f-9477", + "next": "9598145a-f29d-11ea-b359-0a58a9feac02-32-0009-1540-66e7-e779-1196-efeb-205d-1efd-4009-b69d", + "previous": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-12-78b6-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22-1950" + } + ], + "next": "9598145a-f29d-11ea-b359-0a58a9feac02-33-1540-66e7-e779-1196-efeb-205d-1efd-4009-b69d-f74d", + "previous": "4f1d97fa-0c26-11f0-98e9-5e0a5654d7bd-13-aec7-edd7-31c7-2760-8094-dfda-5fa2-bc22-1950-ac2f" + }, + "papermill": { + "duration": 0.024412, + "end_time": "2026-01-06T08:30:58.842740", + "exception": false, + "start_time": "2026-01-06T08:30:58.818328", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "# GakuNinRDM 総合テスト [rdmfs-ストレージ双方向操作]\n", + "\n", + "- サブシステム名: rdmfs / ファイル\n", + "- ページ/アドオン: NII Storage または S3 Compatible Storage (SigV4)\n", + "- 機能分類: GUIとrdmfsの双方向操作\n", + "- シナリオ名: GUIとrdmfs間のファイル操作反映確認\n", + "- 用意するテストデータ: プロジェクトを持たない既存ユーザー、MinIO接続情報(S3 Compatible Storage (SigV4)の場合)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3779559e-3d71-4295-81c9-6494aafaf795", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:30:58.895998Z", + "iopub.status.busy": "2026-01-06T08:30:58.894902Z", + "iopub.status.idle": "2026-01-06T08:30:59.776555Z", + "shell.execute_reply": "2026-01-06T08:30:59.775643Z" + }, + "lc_cell_meme": { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-33-1540-66e7-e779-1196-efeb-205d-1efd-4009-b69d-f74d", + "execution_end_time": "2024-03-26T10:16:58.586484Z", + "history": [ + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-2-9f93-6f38", + "next": "959814f0-f29d-11ea-b359-0a58a9feac02", + "previous": "9598139c-f29d-11ea-b359-0a58a9feac02" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-4-9f93-6f38-4e0f-e154", + "next": "959814f0-f29d-11ea-b359-0a58a9feac02-2-898f-27dd", + "previous": null + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-5-9f93-6f38-4e0f-e154-2449", + "next": "959814f0-f29d-11ea-b359-0a58a9feac02-4-898f-27dd-107b-087f", + "previous": null + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-6-9f93-6f38-4e0f-e154-2449-a61c", + "next": "959814f0-f29d-11ea-b359-0a58a9feac02-5-898f-27dd-107b-087f-cd22", + "previous": null + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-7-9f93-6f38-4e0f-e154-2449-a61c-a903", + "next": "959814f0-f29d-11ea-b359-0a58a9feac02-6-898f-27dd-107b-087f-cd22-8597", + "previous": null + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-8-9f93-6f38-4e0f-e154-2449-a61c-a903-c62c", + "next": "959814f0-f29d-11ea-b359-0a58a9feac02-7-898f-27dd-107b-087f-cd22-8597-c861", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-9-9f93-6f38-4e0f-e154-2449-a61c-a903-c62c-9ba5", + "next": "959814f0-f29d-11ea-b359-0a58a9feac02-8-898f-27dd-107b-087f-cd22-8597-c861-055c", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-1-a8e4" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-10-9f93-6f38-4e0f-e154-2449-a61c-a903-c62c-9ba5-7946", + "next": "959814f0-f29d-11ea-b359-0a58a9feac02-9-898f-27dd-107b-087f-cd22-8597-c861-055c-589a", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-2-a8e4-0900" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-10-9f93-6f38-4e0f-e154-2449-a61c-a903-c62c-9ba5-7946", + "next": "959814f0-f29d-11ea-b359-0a58a9feac02-10-898f-27dd-107b-087f-cd22-8597-c861-055c-589a-cb2e", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-3-a8e4-0900-6df2" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-11-6f38-4e0f-e154-2449-a61c-a903-c62c-9ba5-7946-f5ba", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-10-146a-a853-2e75-8d66-3d5d-a942-7360-becb-d322-b9d5", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-3-a8e4-0900-6df2" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-12-4e0f-e154-2449-a61c-a903-c62c-9ba5-7946-f5ba-75a4", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-11-a853-2e75-8d66-3d5d-a942-7360-becb-d322-b9d5-c83f", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-4-a8e4-0900-6df2-eea0" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-13-e154-2449-a61c-a903-c62c-9ba5-7946-f5ba-75a4-fc9f", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-12-2e75-8d66-3d5d-a942-7360-becb-d322-b9d5-c83f-f975", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-5-a8e4-0900-6df2-eea0-6314" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-14-2449-a61c-a903-c62c-9ba5-7946-f5ba-75a4-fc9f-ebdf", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-13-8d66-3d5d-a942-7360-becb-d322-b9d5-c83f-f975-61bb", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-6-a8e4-0900-6df2-eea0-6314-e99d" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-15-a61c-a903-c62c-9ba5-7946-f5ba-75a4-fc9f-ebdf-d504", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-14-3d5d-a942-7360-becb-d322-b9d5-c83f-f975-61bb-23e5", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-7-a8e4-0900-6df2-eea0-6314-e99d-fa8c" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-16-a903-c62c-9ba5-7946-f5ba-75a4-fc9f-ebdf-d504-6005", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-15-a942-7360-becb-d322-b9d5-c83f-f975-61bb-23e5-ed30", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-8-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-17-c62c-9ba5-7946-f5ba-75a4-fc9f-ebdf-d504-6005-d30f", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-16-7360-becb-d322-b9d5-c83f-f975-61bb-23e5-ed30-648f", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-9-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3-65aa" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-18-9ba5-7946-f5ba-75a4-fc9f-ebdf-d504-6005-d30f-0b62", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-17-becb-d322-b9d5-c83f-f975-61bb-23e5-ed30-648f-e9c6", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-10-a8e4-0900-6df2-eea0-6314-e99d-fa8c-51c3-65aa-c3b1" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-19-7946-f5ba-75a4-fc9f-ebdf-d504-6005-d30f-0b62-1f07", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-18-d322-b9d5-c83f-f975-61bb-23e5-ed30-648f-e9c6-03d9", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-11-0900-6df2-eea0-6314-e99d-fa8c-51c3-65aa-c3b1-cbc5" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-20-f5ba-75a4-fc9f-ebdf-d504-6005-d30f-0b62-1f07-dfea", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-19-b9d5-c83f-f975-61bb-23e5-ed30-648f-e9c6-03d9-006e", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-12-6df2-eea0-6314-e99d-fa8c-51c3-65aa-c3b1-cbc5-a521" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-22-fc9f-ebdf-d504-6005-d30f-0b62-1f07-dfea-e942-8adf", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-20-c83f-f975-61bb-23e5-ed30-648f-e9c6-03d9-006e-36e9", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-13-eea0-6314-e99d-fa8c-51c3-65aa-c3b1-cbc5-a521-c15f" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-23-ebdf-d504-6005-d30f-0b62-1f07-dfea-e942-8adf-0009", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-22-61bb-23e5-ed30-648f-e9c6-03d9-006e-36e9-0ceb-88c6", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-15-e99d-fa8c-51c3-65aa-c3b1-cbc5-a521-c15f-b883-48b3" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-23-ebdf-d504-6005-d30f-0b62-1f07-dfea-e942-8adf-0009", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-23-23e5-ed30-648f-e9c6-03d9-006e-36e9-0ceb-88c6-7284", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-16-fa8c-51c3-65aa-c3b1-cbc5-a521-c15f-b883-48b3-9d46" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-23-ebdf-d504-6005-d30f-0b62-1f07-dfea-e942-8adf-0009", + "next": "9598157c-f29d-11ea-b359-0a58a9feac02-23-23e5-ed30-648f-e9c6-03d9-006e-36e9-0ceb-88c6-7284", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-16-fa8c-51c3-65aa-c3b1-cbc5-a521-c15f-b883-48b3-9d46" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-24-d504-6005-d30f-0b62-1f07-dfea-e942-8adf-0009-1540", + "next": "adbcf366-e5d6-11eb-941a-0a58a9feac02-21-3043-0b7c-55b8-41c1-336f-8de5-90ce-a3b5-a12d-937a", + "previous": "9598157c-f29d-11ea-b359-0a58a9feac02-24-ed30-648f-e9c6-03d9-006e-36e9-0ceb-88c6-7284-aa1a" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-24-d504-6005-d30f-0b62-1f07-dfea-e942-8adf-0009-1540", + "next": "adbcf366-e5d6-11eb-941a-0a58a9feac02-22-0b7c-55b8-41c1-336f-8de5-90ce-a3b5-a12d-937a-4360", + "previous": "9598157c-f29d-11ea-b359-0a58a9feac02-25-648f-e9c6-03d9-006e-36e9-0ceb-88c6-7284-aa1a-fe5e" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-26-d30f-0b62-1f07-dfea-e942-8adf-0009-1540-66e7-e779", + "next": "adbcf366-e5d6-11eb-941a-0a58a9feac02-22-0b7c-55b8-41c1-336f-8de5-90ce-a3b5-a12d-937a-4360", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-17-51c3-65aa-c3b1-cbc5-a521-c15f-b883-48b3-9d46-065e" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-29-dfea-e942-8adf-0009-1540-66e7-e779-1196-efeb-205d", + "next": "adbcf366-e5d6-11eb-941a-0a58a9feac02-24-41c1-336f-8de5-90ce-a3b5-a12d-937a-4360-886a-0c7c", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-19-c3b1-cbc5-a521-c15f-b883-48b3-9d46-065e-f53e-9bff" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-31-8adf-0009-1540-66e7-e779-1196-efeb-205d-1efd-4009", + "next": "adbcf366-e5d6-11eb-941a-0a58a9feac02-27-90ce-a3b5-a12d-937a-4360-886a-0c7c-afd9-0958-9234", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-22-c15f-b883-48b3-9d46-065e-f53e-9bff-8161-b4a4-a95b" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-31-8adf-0009-1540-66e7-e779-1196-efeb-205d-1efd-4009", + "next": "0c8be85a-1c3a-11f0-a653-9281a4835edb-6-2c34-1947-2385-47a8-9c81-828d", + "previous": "0f904455-dae3-11ec-9d35-2f7bec2724a5-24-48b3-9d46-065e-f53e-9bff-8161-b4a4-a95b-9738-0db8" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-32-0009-1540-66e7-e779-1196-efeb-205d-1efd-4009-b69d", + "next": "0c8be85a-1c3a-11f0-a653-9281a4835edb-6-2c34-1947-2385-47a8-9c81-828d", + "previous": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-26-5d22-9918-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33" + }, + { + "current": "9598145a-f29d-11ea-b359-0a58a9feac02-33-1540-66e7-e779-1196-efeb-205d-1efd-4009-b69d-f74d", + "next": "0c8be85a-1c3a-11f0-a653-9281a4835edb-7-2c34-1947-2385-47a8-9c81-828d-3803", + "previous": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-27-9918-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33-b43f" + } + ], + "next": "0c8be85a-1c3a-11f0-a653-9281a4835edb-8-2c34-1947-2385-47a8-9c81-828d-3803-25c4", + "previous": "c80dfb88-dae2-11ec-a891-2f7bec2724a5-28-9884-a621-ea89-5bdf-460c-9b7f-e464-1c33-b43f-9477" + }, + "lc_wrapper": { + "log_history": [ + "/home/jovyan/.log/20200909/20200909-130745-0759.log", + "/home/jovyan/.log/20210625/20210625-223653-0468.log", + "/home/jovyan/.log/20210627/20210627-125528-0926.log", + "/home/jovyan/.log/20210702/20210702-100212-0644.log", + "/home/jovyan/.log/20210708/20210708-090022-0292.log", + "/home/jovyan/.log/20210708/20210708-214536-0455.log", + "/home/jovyan/.log/20210709/20210709-222111-0165.log", + "/home/jovyan/.log/20210709/20210709-224001-0891.log", + "/home/jovyan/.log/20210716/20210716-013805-0588.log", + "/home/jovyan/.log/20210716/20210716-041714-0592.log", + "/home/jovyan/.log/20220125/20220125-220307-0802.log", + "/home/jovyan/.log/20220125/20220125-220954-0816.log", + "/home/jovyan/.log/20220523/20220523-215740-0035.log", + "/home/jovyan/.log/20220524/20220524-081800-0297.log", + "/home/jovyan/.log/20220524/20220524-132917-0362.log", + "/home/jovyan/.log/20220524/20220524-213708-0750.log", + "/home/jovyan/.log/20220528/20220528-072258-0449.log", + "/home/jovyan/.log/20220604/20220604-032202-0688.log", + "/home/jovyan/.log/20220604/20220604-071732-0926.log", + "/home/jovyan/.log/20220604/20220604-082444-0776.log", + "/home/jovyan/.log/20220604/20220604-090912-0013.log", + "/home/jovyan/.log/20220604/20220604-221840-0265.log", + "/home/jovyan/.log/20220605/20220605-091717-0176.log", + "/home/jovyan/.log/20220605/20220605-221226-0648.log", + "/home/jovyan/.log/20220606/20220606-005229-0174.log", + "/home/jovyan/.log/20220606/20220606-073125-0079.log", + "/home/jovyan/.log/20220620/20220620-062401-0339.log", + "/home/jovyan/.log/20220720/20220720-092034-0601.log", + "/home/jovyan/.log/20220720/20220720-112645-0705.log", + "/home/jovyan/.log/20220720/20220720-123809-0928.log", + "/home/jovyan/.log/20220720/20220720-224038-0113.log", + "/home/jovyan/.log/20221216/20221216-220614-0020.log", + "/home/jovyan/.log/20221221/20221221-063009-0921.log", + "/home/jovyan/.log/20221227/20221227-015152-0433.log", + "/home/jovyan/.log/20230114/20230114-003107-0661.log", + "/home/jovyan/.log/20230114/20230114-035030-0255.log", + "/home/jovyan/.log/20230114/20230114-041629-0042.log", + "/home/jovyan/.log/20230301/20230301-062922-0323.log", + "/home/jovyan/.log/20230501/20230501-023044-0175.log", + "/home/jovyan/.log/20230531/20230531-050839-0468.log", + "/home/jovyan/.log/20231019/20231019-235912-0422.log", + "/home/jovyan/.log/20231020/20231020-011410-0524.log", + "/home/jovyan/.log/20240325/20240325-064454-0744.log", + "/home/jovyan/.log/20240326/20240326-094831-0686.log", + "/home/jovyan/.log/20240326/20240326-101658-0141.log" + ] + }, + "papermill": { + "duration": 0.910151, + "end_time": "2026-01-06T08:30:59.778623", + "exception": false, + "start_time": "2026-01-06T08:30:58.868472", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import importlib\n", + "import pathlib\n", + "import re\n", + "import shutil\n", + "import subprocess\n", + "import sys\n", + "import time\n", + "from urllib.parse import urlparse\n", + "\n", + "resources_dir = os.path.abspath('resources')\n", + "if resources_dir not in sys.path:\n", + " sys.path.insert(0, resources_dir)\n", + "\n", + "import scripts.grdm\n", + "import scripts.playwright\n", + "importlib.reload(scripts.grdm)\n", + "importlib.reload(scripts.playwright)\n", + "\n", + "from playwright.async_api import TimeoutError as PlaywrightTimeoutError\n", + "from playwright.async_api import expect\n", + "from scripts import grdm\n", + "from scripts.playwright import finish_pw_context, init_pw_context, run_pw\n", + "\n", + "await init_pw_context(close_on_fail=close_on_fail, last_path=default_result_path)\n", + "\n", + "\n", + "def run_command(arguments, check=True):\n", + " result = subprocess.run(arguments, capture_output=True, text=True)\n", + " if check and result.returncode != 0:\n", + " safe_arguments = [\n", + " 'RDM_TOKEN=\u003credacted\u003e'\n", + " if str(value).startswith('RDM_TOKEN=') else value\n", + " for value in arguments\n", + " ]\n", + " raise RuntimeError(\n", + " f'Command failed ({result.returncode}): {safe_arguments!r}\\n'\n", + " f'stdout:\\n{result.stdout}\\nstderr:\\n{result.stderr}'\n", + " )\n", + " return result\n", + "\n", + "\n", + "def docker_exec(*arguments, check=True):\n", + " return run_command(\n", + " ['docker', 'exec', rdmfs_container_name, *[str(value) for value in arguments]],\n", + " check=check,\n", + " )\n", + "\n", + "\n", + "def rdmfs_container_id():\n", + " return run_command(\n", + " ['docker', 'inspect', '--format', '{{.Id}}', rdmfs_container_name]\n", + " ).stdout.strip()\n", + "\n", + "\n", + "def wait_for_rdmfs(predicate, description):\n", + " deadline = time.monotonic() + sync_timeout\n", + " while time.monotonic() \u003c deadline:\n", + " if predicate():\n", + " return\n", + " time.sleep(sync_poll_interval)\n", + " logs = run_command(['docker', 'logs', rdmfs_container_name], check=False)\n", + " raise AssertionError(\n", + " f'Timed out waiting for {description}.\\n'\n", + " f'rdmfs stdout:\\n{logs.stdout}\\nrdmfs stderr:\\n{logs.stderr}'\n", + " )\n", + "\n", + "\n", + "async def expand_folder(page, folder_name, timeout):\n", + " folder = grdm.get_select_folder_title_locator(page, folder_name)\n", + " try:\n", + " await folder.wait_for(state='visible', timeout=timeout)\n", + " except PlaywrightTimeoutError:\n", + " return False\n", + " collapsed = grdm.get_select_folder_toggle_locator(page, folder_name, collapsed=True)\n", + " if await collapsed.is_visible():\n", + " await collapsed.click()\n", + " expanded = grdm.get_select_folder_toggle_locator(\n", + " page, folder_name, expanded=True\n", + " )\n", + " try:\n", + " await expanded.wait_for(state='visible', timeout=timeout)\n", + " except PlaywrightTimeoutError:\n", + " return False\n", + " return True\n", + "\n", + "\n", + "async def wait_for_gui_entries(page, folder_name, present_names=(), absent_names=()):\n", + " deadline = time.monotonic() + sync_timeout\n", + " while time.monotonic() \u003c deadline:\n", + " await page.reload(wait_until='domcontentloaded')\n", + " remaining = max(0, deadline - time.monotonic())\n", + " attempt_timeout = min(sync_poll_interval, remaining) * 1000\n", + " storage = grdm.get_select_expanded_storage_title_locator(page, target_storage_name)\n", + " try:\n", + " await storage.wait_for(state='visible', timeout=attempt_timeout)\n", + " except PlaywrightTimeoutError:\n", + " continue\n", + " if not await expand_folder(page, folder_name, attempt_timeout):\n", + " continue\n", + "\n", + " try:\n", + " for name in present_names:\n", + " await grdm.get_select_file_title_locator(page, name).wait_for(\n", + " state='visible', timeout=attempt_timeout\n", + " )\n", + " except PlaywrightTimeoutError:\n", + " continue\n", + "\n", + " absent = [\n", + " not await grdm.get_select_file_title_locator(page, name).is_visible()\n", + " for name in absent_names\n", + " ]\n", + " if all(absent):\n", + " return\n", + " raise AssertionError(\n", + " f'Timed out waiting for GUI entries: folder={folder_name!r}, '\n", + " f'present={present_names!r}, absent={absent_names!r}'\n", + " )\n", + "\n", + "\n", + "project_id = None\n", + "project_url = None\n", + "rdm_token = None\n", + "rdmfs_initial_container_id = None\n", + "token_name = f'rdmfs-e2e-{datetime.now().strftime(\"%Y%m%d-%H%M%S\")}'\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "b4823cf3", + "metadata": {}, + "source": [ + "## ログイン情報を用いてGakuNin RDMにログインする\n", + "\n", + "ダッシュボードが表示され、プロジェクト一覧が空であること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c388852f", + "metadata": {}, + "outputs": [], + "source": [ + "async def _step(page):\n", + " await page.goto(rdm_url)\n", + " await grdm.login(\n", + " page, idp_name_1, idp_username_1, idp_password_1,\n", + " transition_timeout=transition_timeout,\n", + " )\n", + " await grdm.expect_dashboard(page, transition_timeout=transition_timeout)\n", + " await expect(page.locator('//*[@data-test-dashboard-item-title]')).to_have_count(0)\n", + "\n", + "await run_pw(_step)\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "71ef3333", + "metadata": {}, + "source": [ + "## 「新規プロジェクト作成」から試験対象プロジェクトを作成し、プロジェクト一覧から開く\n", + "\n", + "試験対象プロジェクトの画面が表示されること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cb9ca53f", + "metadata": {}, + "outputs": [], + "source": [ + "async def _step(page):\n", + " created = await grdm.ensure_project_exists(\n", + " page, rdm_project_name, transition_timeout=transition_timeout\n", + " )\n", + " assert created, 'The target project must be created by this Notebook'\n", + " await page.locator(\n", + " f'//*[@data-test-dashboard-item-title and text()=\"{rdm_project_name}\"]'\n", + " ).click()\n", + " await expect(page.locator('//a[text() = \"アドオン\"]')).to_be_visible(\n", + " timeout=transition_timeout\n", + " )\n", + "\n", + " global project_id, project_url\n", + " project_id = urlparse(page.url).path.strip('/').split('/')[0]\n", + " assert re.fullmatch(r'[a-z0-9]{5}', project_id), project_id\n", + " project_url = f'{rdm_url.rstrip(\"/\")}/{project_id}/'\n", + "\n", + "await run_pw(_step)\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "e8d12fd8", + "metadata": {}, + "source": [ + "## (MinIOを使用する場合)「アドオン」から「S3 Compatible Storage (SigV4)」を有効化し、MinIOに接続する\n", + "\n", + "MinIOのアカウントとバケットが接続され、「正常にリンクされました」と表示されること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b4a3cb3a-2257-44e7-bc6d-e864df2b433a", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:30:59.885109Z", + "iopub.status.busy": "2026-01-06T08:30:59.883527Z", + "iopub.status.idle": "2026-01-06T08:31:18.173502Z", + "shell.execute_reply": "2026-01-06T08:31:18.172984Z" + }, + "lc_cell_meme": { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb-7-7d4e-9eb1-9bca-4f6c-c830-9503-6f15", + "execution_end_time": "2025-04-18T10:03:15.630Z", + "history": [ + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb", + "next": "d335d3ec-80d5-11ed-95e1-0242ac120004-14-e06e-e073-8605-4483-934f-f6a6-d120-39e8-923e-ba69", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-1-2c34" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb", + "next": "d335d464-80d5-11ed-95e1-0242ac120004-14-4e02-17d2-51dc-b14f-3876-17a3-6132-809d-8ea5-b0b6", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-1-2c34" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb", + "next": "ee1320a8-0c28-11f0-98e9-5e0a5654d7bd-6-534f-ca98-0639-fd50-4b19-f3ce", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-1-2c34" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb", + "next": "fa034c80-0c28-11f0-98e9-5e0a5654d7bd-5-61c8-3dff-8f8a-2237-43c6", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-1-2c34" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb", + "next": "17cc442e-0c29-11f0-98e9-5e0a5654d7bd-6-e886-de07-db5b-bc04-f477-850a", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-1-2c34" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb", + "next": "1de94a14-0c29-11f0-98e9-5e0a5654d7bd-5-a479-3f2b-1422-f712-7fac", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-1-2c34" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb", + "next": "2840f6ba-0c29-11f0-98e9-5e0a5654d7bd-6-f26a-794a-d7be-5285-ae4d-5a8b", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-1-2c34" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb", + "next": "3b9069e4-0c29-11f0-98e9-5e0a5654d7bd-5-9cb1-5973-c277-2053-05f2", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-1-2c34" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb-3-7d4e-9eb1-9bca", + "next": "8a828916-0c46-11f0-98e9-5e0a5654d7bd-5-a17f-a0f1-b7b9-aee9-6d00", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-1-2c34" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb-5-7d4e-9eb1-9bca-4f6c-c830", + "next": "8a828916-0c46-11f0-98e9-5e0a5654d7bd-8-a17f-a0f1-b7b9-aee9-6d00-d5be-a467-9692", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-4-2c34-1947-2385-47a8" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb-6-7d4e-9eb1-9bca-4f6c-c830-9503", + "next": "8a828916-0c46-11f0-98e9-5e0a5654d7bd-10-a17f-a0f1-b7b9-aee9-6d00-d5be-a467-9692-097d-2f06", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-6-2c34-1947-2385-47a8-9c81-828d" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb-7-7d4e-9eb1-9bca-4f6c-c830-9503-6f15", + "next": "8a828916-0c46-11f0-98e9-5e0a5654d7bd-11-a0f1-b7b9-aee9-6d00-d5be-a467-9692-097d-2f06-c915", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-7-2c34-1947-2385-47a8-9c81-828d-3803" + }, + { + "current": "43b0be32-1c3a-11f0-a653-9281a4835edb-7-7d4e-9eb1-9bca-4f6c-c830-9503-6f15", + "next": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-12-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2-b371-dd5a", + "previous": "0c8be85a-1c3a-11f0-a653-9281a4835edb-8-2c34-1947-2385-47a8-9c81-828d-3803-25c4" + } + ], + "next": "4d09eb06-9aed-11f1-9767-faebbd0a01ef", + "previous": null + }, + "papermill": { + "duration": 18.318606, + "end_time": "2026-01-06T08:31:18.175331", + "exception": false, + "start_time": "2026-01-06T08:30:59.856725", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "outputs": [], + "source": [ + "async def _step(page):\n", + " if not minio_enabled:\n", + " return\n", + "\n", + " await grdm.enable_addon(\n", + " page, target_storage_name, transition_timeout=transition_timeout\n", + " )\n", + " connect_link = page.locator(\n", + " f'//img[@src = \"/static/addons/{target_storage_id}/comicon.png\"]'\n", + " '/..//a[contains(text(), \"アカウントに接続する\")]'\n", + " )\n", + " await expect(connect_link).to_be_visible(timeout=transition_timeout)\n", + " await connect_link.click()\n", + "\n", + " credentials = page.locator(f'#{target_storage_id}InputCredentials')\n", + " await expect(credentials.locator('.btn-success')).to_be_enabled(\n", + " timeout=transition_timeout\n", + " )\n", + " await credentials.locator('select#selected_service').select_option(\n", + " minio_service_name\n", + " )\n", + " await credentials.locator('input[name=\"access_key\"]').fill(minio_access_key)\n", + " await credentials.locator('input[name=\"secret_key\"]').fill(minio_secret_key)\n", + " await credentials.locator('.btn-success').click()\n", + "\n", + " connect_button = page.get_by_role('button', name='接続', exact=True)\n", + " await expect(connect_button).to_be_enabled(timeout=transition_timeout)\n", + " await connect_button.click()\n", + " bucket_radio = page.locator(\n", + " f'//span[text() = \"{minio_bucket}\"]/../../..//input[@type = \"radio\"]'\n", + " )\n", + " await expect(bucket_radio).to_be_visible(timeout=transition_timeout)\n", + " await bucket_radio.click()\n", + " save_button = page.locator(\n", + " f'//*[@class = \"{target_storage_id}-confirm-selection\"]'\n", + " '//input[@value = \"保存\"]'\n", + " )\n", + " await expect(save_button).to_be_enabled(timeout=transition_timeout)\n", + " await save_button.click()\n", + " linked_message = page.locator(\n", + " f'//*[@id = \"{target_storage_id}Scope\"]'\n", + " '/*[contains(@class, \"help-block\")]'\n", + " '//*[contains(text(), \"正常にリンクされました\")]'\n", + " )\n", + " await expect(linked_message).to_be_visible(timeout=transition_timeout)\n", + "\n", + "await run_pw(_step)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "lc_cell_meme": { + "current": "4d09eb06-9aed-11f1-9767-faebbd0a01ef", + "history": [ + { + "current": "4d09eb06-9aed-11f1-9767-faebbd0a01ef", + "next": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-12-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2-b371-dd5a", + "previous": "43b0be32-1c3a-11f0-a653-9281a4835edb-7-7d4e-9eb1-9bca-4f6c-c830-9503-6f15" + } + ], + "next": "4d15d538-9aed-11f1-b3cd-faebbd0a01ef", + "previous": "43b0be32-1c3a-11f0-a653-9281a4835edb-7-7d4e-9eb1-9bca-4f6c-c830-9503-6f15" + } + }, + "source": [ + "## 上部ツールバーの「ファイル」をクリックする\n", + "\n", + "ファイル一覧に対象ストレージが表示されること。" + ] + }, + { + "cell_type": "code", + "metadata": { + "lc_cell_meme": { + "current": "4d15d538-9aed-11f1-b3cd-faebbd0a01ef", + "next": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-12-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2-b371-dd5a", + "previous": "4d09eb06-9aed-11f1-9767-faebbd0a01ef" + } + }, + "source": [ + "async def _step(page):\n", + " await page.locator('#projectNavFiles a').click()\n", + " await expect(\n", + " grdm.get_select_expanded_storage_title_locator(page, target_storage_name)\n", + " ).to_be_visible(timeout=transition_timeout)\n", + "\n", + "await run_pw(_step)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "8e9ba470-5548-4eea-bd36-0acfee078378", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-12-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2-b371-dd5a", + "history": [ + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd", + "next": "1ff54e0e-0c3b-11f0-98e9-5e0a5654d7bd-2-85a3-d426", + "previous": "8a83134a-0c46-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-1-1391", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "previous": "8a83134a-0c46-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-1-1391", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "previous": "5d277060-0c48-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-1-1391", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "previous": "5f01ce58-0c48-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-1-1391", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "previous": "5f388ca4-0c48-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-3-1391-2434-3533", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "previous": "8a83134a-0c46-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-5-1391-2434-3533-a3c9-886e", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40", + "previous": "8a83134a-0c46-11f0-98e9-5e0a5654d7bd-2-5261-ef93" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-8-1391-2434-3533-a3c9-886e-4d7b-f6cf-81a1", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-4-575f-1d40-14d8-c05a", + "previous": "8a83134a-0c46-11f0-98e9-5e0a5654d7bd-4-5261-ef93-69fc-fe2c" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-10-1391-2434-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-7-575f-1d40-14d8-c05a-8f00-ece7-add9", + "previous": "8a83134a-0c46-11f0-98e9-5e0a5654d7bd-7-5261-ef93-69fc-fe2c-f3aa-644f-12b7" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-11-2434-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2-b371", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-9-575f-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c", + "previous": "8a83134a-0c46-11f0-98e9-5e0a5654d7bd-9-5261-ef93-69fc-fe2c-f3aa-644f-12b7-4d61-155d" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-12-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2-b371-dd5a", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-10-575f-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c-2935", + "previous": "8a83134a-0c46-11f0-98e9-5e0a5654d7bd-10-5261-ef93-69fc-fe2c-f3aa-644f-12b7-4d61-155d-c636" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-12-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2-b371-dd5a", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-11-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c-2935-d2cb", + "previous": "43b0be32-1c3a-11f0-a653-9281a4835edb-7-7d4e-9eb1-9bca-4f6c-c830-9503-6f15" + }, + { + "current": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-12-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2-b371-dd5a", + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-11-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c-2935-d2cb", + "previous": "4d09eb06-9aed-11f1-9767-faebbd0a01ef" + } + ], + "next": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-11-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c-2935-d2cb", + "previous": "4d15d538-9aed-11f1-b3cd-faebbd0a01ef" + }, + "papermill": { + "duration": 0.030656, + "end_time": "2026-01-06T08:31:18.237412", + "exception": false, + "start_time": "2026-01-06T08:31:18.206756", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "source": [ + "## ユーザーメニューから「設定」を開き、Personal Access Tokenを作成する\n", + "\n", + "トークン名を入力し、「osf.full_write」を選択してPersonal Access Tokenを作成する。作成したトークンが一覧に表示されること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "570378a2-83ee-4df9-a8f0-b747c37b61fa", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:31:18.295550Z", + "iopub.status.busy": "2026-01-06T08:31:18.294883Z", + "iopub.status.idle": "2026-01-06T08:31:21.727455Z", + "shell.execute_reply": "2026-01-06T08:31:21.726730Z" + }, + "lc_cell_meme": { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-11-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c-2935-d2cb", + "execution_end_time": "2025-04-02T07:25:56.619Z", + "history": [ + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "next": "1ff54e0e-0c3b-11f0-98e9-5e0a5654d7bd-2-85a3-d426", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "next": "1ff54e0e-0c3b-11f0-98e9-5e0a5654d7bd-2-85a3-d426", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "next": "1ff54e0e-0c3b-11f0-98e9-5e0a5654d7bd-2-85a3-d426", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-1-1391" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "next": "8c3e81ae-0c48-11f0-98e9-5e0a5654d7bd", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-1-1391" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "next": "d00c816a-0c48-11f0-98e9-5e0a5654d7bd", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-1-1391" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd", + "next": "d00c816a-0c48-11f0-98e9-5e0a5654d7bd", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-1-1391" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40", + "next": "d00c816a-0c48-11f0-98e9-5e0a5654d7bd-1-a2e7", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-1-1391" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40", + "next": "044c0cb4-dae5-11ec-8491-2f7bec2724a5-17-3e07-2bea-4fac-5c21-f105-190c-f99c-31e8-5e5e-ac36", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-3-1391-2434-3533" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40", + "next": "adbcf366-e5d6-11eb-941a-0a58a9feac02-20-5500-73e0-446c-7235-daa5-1a15-96d5-b6a8-dc5b-e139", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-3-1391-2434-3533" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40", + "next": "934c6ffe-dae5-11ec-a92a-2f7bec2724a5-17-571d-cdd9-d564-01ab-f7e5-8d97-6174-db5a-df2b-c175", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-3-1391-2434-3533" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40", + "next": "dad491c6-dae5-11ec-855d-2f7bec2724a5-17-03f1-3c3f-d02a-11e2-7239-0dc9-bdb5-8cc4-3dcd-45bf", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-3-1391-2434-3533" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40", + "next": "dad49316-dae5-11ec-962f-2f7bec2724a5-17-6cc1-4eae-cb84-ca65-9e01-b537-dd94-6289-52c8-e7d3", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-3-1391-2434-3533" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40", + "next": "dad49370-dae5-11ec-b407-2f7bec2724a5-17-5e65-f36c-7787-a2a4-a3a2-5d2a-3c47-f00d-4100-e152", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-3-1391-2434-3533" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40", + "next": "40758707-dae7-11ec-bcf5-2f7bec2724a5-17-e452-9c09-86d0-ac50-ac4c-1547-e959-e499-16e5-98eb", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-3-1391-2434-3533" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40", + "next": "4075886b-dae7-11ec-8776-2f7bec2724a5-17-7b2e-ee30-5825-15a2-1ccf-7ec0-fb63-03ff-4c46-872e", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-3-1391-2434-3533" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-4-575f-1d40-14d8-c05a", + "next": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-17-d418-70fa-1e5d-2668-694d-d234-24f6-449e-d5cd-8dbc", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-3-1391-2434-3533" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-7-575f-1d40-14d8-c05a-8f00-ece7-add9", + "next": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-19-1e5d-2668-694d-d234-24f6-449e-d5cd-8dbc-22f6-21ed", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-5-1391-2434-3533-a3c9-886e" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-9-575f-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c", + "next": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-22-d234-24f6-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-8-1391-2434-3533-a3c9-886e-4d7b-f6cf-81a1" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-10-575f-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c-2935", + "next": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-24-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-10-1391-2434-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2" + }, + { + "current": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-11-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c-2935-d2cb", + "next": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-25-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b-e4f3", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-11-2434-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2-b371" + } + ], + "next": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-26-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b-e4f3-e991", + "previous": "8a8313f4-0c46-11f0-98e9-5e0a5654d7bd-12-3533-a3c9-886e-4d7b-f6cf-81a1-3c23-4bf2-b371-dd5a" + }, + "papermill": { + "duration": 3.465734, + "end_time": "2026-01-06T08:31:21.732202", + "exception": false, + "start_time": "2026-01-06T08:31:18.266468", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "outputs": [], + "source": [ + "async def _step(page):\n", + " global rdm_token\n", + "\n", + " browser = page.context.browser\n", + " assert browser is not None\n", + " unrecorded_context = await browser.new_context(\n", + " locale='ja-JP',\n", + " storage_state=await page.context.storage_state(),\n", + " )\n", + " unrecorded_page = await unrecorded_context.new_page()\n", + " try:\n", + " await unrecorded_page.goto(f'{project_url}files/')\n", + " auth_toggle = unrecorded_page.locator(\n", + " 'a[aria-label=\"Toggle auth dropdown\"]'\n", + " )\n", + " await expect(auth_toggle).to_be_visible(timeout=transition_timeout)\n", + " await auth_toggle.click()\n", + "\n", + " settings_link = unrecorded_page.locator(\n", + " 'ul.auth-dropdown a[href=\"/settings/\"]'\n", + " )\n", + " await expect(settings_link).to_be_visible(timeout=transition_timeout)\n", + " await settings_link.click()\n", + "\n", + " personal_tokens_link = unrecorded_page.locator(\n", + " 'a[href=\"/settings/tokens/\"]'\n", + " )\n", + " await expect(personal_tokens_link).to_be_visible(\n", + " timeout=transition_timeout\n", + " )\n", + " await personal_tokens_link.click()\n", + "\n", + " create_link = unrecorded_page.locator(\n", + " 'a[href=\"/settings/tokens/create/\"]'\n", + " )\n", + " await expect(create_link).to_be_visible(timeout=transition_timeout)\n", + " await create_link.click()\n", + "\n", + " await unrecorded_page.locator('#token-fields input[type=\"text\"]').fill(\n", + " token_name\n", + " )\n", + " await unrecorded_page.locator('input[id=\"osf.full_write\"]').check()\n", + " await unrecorded_page.locator(\n", + " '#token-fields button[type=\"submit\"]:visible'\n", + " ).click()\n", + " token_value = unrecorded_page.locator('#token-keys samp')\n", + " await expect(token_value).not_to_be_empty(timeout=transition_timeout)\n", + " rdm_token = (await token_value.text_content()).strip()\n", + " assert len(rdm_token) \u003e= 20\n", + "\n", + " await unrecorded_page.goto(f'{rdm_url.rstrip(\"/\")}/settings/tokens/')\n", + " token_row = unrecorded_page.locator(\n", + " f'//tr[.//span[text() = \"{token_name}\"]]'\n", + " )\n", + " await expect(token_row).to_be_visible(timeout=transition_timeout)\n", + " finally:\n", + " await unrecorded_context.close()\n", + "\n", + " await expect(\n", + " grdm.get_select_expanded_storage_title_locator(page, target_storage_name)\n", + " ).to_be_visible(timeout=transition_timeout)\n", + "\n", + "await run_pw(_step)\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "5a27f937-2770-47ca-b326-802f857841c8", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-26-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b-e4f3-e991", + "history": [ + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-1-2391", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-2-2391-f1ef", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-1-32a7", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-1-e028" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-3-2391-f1ef-4e67", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-2-32a7-f716", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-2-e028-7308" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-4-2391-f1ef-4e67-6d01", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-3-32a7-f716-01a7", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-3-e028-7308-2f61" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-5-2391-f1ef-4e67-6d01-fac1", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-4-32a7-f716-01a7-6db6", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-4-e028-7308-2f61-4241" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-6-2391-f1ef-4e67-6d01-fac1-a8c9", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-5-32a7-f716-01a7-6db6-b7cf", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-5-e028-7308-2f61-4241-a410" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-7-2391-f1ef-4e67-6d01-fac1-a8c9-3f06", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-6-32a7-f716-01a7-6db6-b7cf-085b", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-6-e028-7308-2f61-4241-a410-b34b" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-8-2391-f1ef-4e67-6d01-fac1-a8c9-3f06-d418", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-7-32a7-f716-01a7-6db6-b7cf-085b-f799", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-7-e028-7308-2f61-4241-a410-b34b-65e8" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-9-2391-f1ef-4e67-6d01-fac1-a8c9-3f06-d418-70fa", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-8-32a7-f716-01a7-6db6-b7cf-085b-f799-787f", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-8-e028-7308-2f61-4241-a410-b34b-65e8-7b2e" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-10-2391-f1ef-4e67-6d01-fac1-a8c9-3f06-d418-70fa-1e5d", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-9-32a7-f716-01a7-6db6-b7cf-085b-f799-787f-ff6b", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-9-e028-7308-2f61-4241-a410-b34b-65e8-7b2e-ee30" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-11-f1ef-4e67-6d01-fac1-a8c9-3f06-d418-70fa-1e5d-2668", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-10-32a7-f716-01a7-6db6-b7cf-085b-f799-787f-ff6b-0887", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-10-e028-7308-2f61-4241-a410-b34b-65e8-7b2e-ee30-5825" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-12-4e67-6d01-fac1-a8c9-3f06-d418-70fa-1e5d-2668-694d", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-11-f716-01a7-6db6-b7cf-085b-f799-787f-ff6b-0887-cdac", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-11-7308-2f61-4241-a410-b34b-65e8-7b2e-ee30-5825-15a2" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-13-6d01-fac1-a8c9-3f06-d418-70fa-1e5d-2668-694d-d234", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-12-01a7-6db6-b7cf-085b-f799-787f-ff6b-0887-cdac-a48e", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-12-2f61-4241-a410-b34b-65e8-7b2e-ee30-5825-15a2-1ccf" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-15-a8c9-3f06-d418-70fa-1e5d-2668-694d-d234-24f6-449e", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-13-6db6-b7cf-085b-f799-787f-ff6b-0887-cdac-a48e-0200", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-13-4241-a410-b34b-65e8-7b2e-ee30-5825-15a2-1ccf-7ec0" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-16-3f06-d418-70fa-1e5d-2668-694d-d234-24f6-449e-d5cd", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-15-085b-f799-787f-ff6b-0887-cdac-a48e-0200-2b5a-92da", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-15-b34b-65e8-7b2e-ee30-5825-15a2-1ccf-7ec0-fb63-03ff" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-17-d418-70fa-1e5d-2668-694d-d234-24f6-449e-d5cd-8dbc", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-16-f799-787f-ff6b-0887-cdac-a48e-0200-2b5a-92da-356c", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-16-65e8-7b2e-ee30-5825-15a2-1ccf-7ec0-fb63-03ff-4c46" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-17-d418-70fa-1e5d-2668-694d-d234-24f6-449e-d5cd-8dbc", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-17-787f-ff6b-0887-cdac-a48e-0200-2b5a-92da-356c-5b4a", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5-17-7b2e-ee30-5825-15a2-1ccf-7ec0-fb63-03ff-4c46-872e" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-19-1e5d-2668-694d-d234-24f6-449e-d5cd-8dbc-22f6-21ed", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-17-787f-ff6b-0887-cdac-a48e-0200-2b5a-92da-356c-5b4a", + "previous": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-2-575f-1d40" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-22-d234-24f6-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-19-0887-cdac-a48e-0200-2b5a-92da-356c-5b4a-77c8-e154", + "previous": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-4-575f-1d40-14d8-c05a" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-24-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-22-0200-2b5a-92da-356c-5b4a-77c8-e154-a728-195c-a5d5", + "previous": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-7-575f-1d40-14d8-c05a-8f00-ece7-add9" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-25-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b-e4f3", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-24-92da-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336", + "previous": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-9-575f-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c" + }, + { + "current": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-26-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b-e4f3-e991", + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-25-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336-f821", + "previous": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-10-575f-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c-2935" + } + ], + "next": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-26-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336-f821-0f76", + "previous": "8a9be6c2-0c46-11f0-98e9-5e0a5654d7bd-11-1d40-14d8-c05a-8f00-ece7-add9-2c16-ff1c-2935-d2cb" + }, + "papermill": { + "duration": 0.03639, + "end_time": "2026-01-06T08:31:21.802022", + "exception": false, + "start_time": "2026-01-06T08:31:21.765632", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "source": [ + "## rdmfsを起動し、対象ストレージのファイル一覧を表示する\n", + "\n", + "対象ストレージがマウントされ、ファイル一覧が空であること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e269d652-05f1-449d-868e-193ec2bf49cc", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:31:21.863260Z", + "iopub.status.busy": "2026-01-06T08:31:21.862274Z", + "iopub.status.idle": "2026-01-06T08:31:25.420857Z", + "shell.execute_reply": "2026-01-06T08:31:25.419717Z" + }, + "lc_cell_meme": { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-26-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336-f821-0f76", + "execution_end_time": "2024-03-26T11:28:15.924648Z", + "history": [ + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5", + "next": "c80dfbd7-dae2-11ec-852a-2f7bec2724a5-1-001f", + "previous": "dad49370-dae5-11ec-b407-2f7bec2724a5" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5", + "next": "c80dfbd7-dae2-11ec-852a-2f7bec2724a5-1-001f", + "previous": "4075886b-dae7-11ec-8776-2f7bec2724a5" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5", + "next": "c80dfbd7-dae2-11ec-852a-2f7bec2724a5-1-001f", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-1-32a7", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-1-d24e", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-2-32a7-f716", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-2-d24e-cbe3", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-1-2391" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-3-32a7-f716-01a7", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-3-d24e-cbe3-7754", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-2-2391-f1ef" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-4-32a7-f716-01a7-6db6", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-4-d24e-cbe3-7754-fa1b", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-3-2391-f1ef-4e67" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-5-32a7-f716-01a7-6db6-b7cf", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-5-d24e-cbe3-7754-fa1b-3a20", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-4-2391-f1ef-4e67-6d01" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-6-32a7-f716-01a7-6db6-b7cf-085b", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-6-d24e-cbe3-7754-fa1b-3a20-c43e", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-5-2391-f1ef-4e67-6d01-fac1" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-7-32a7-f716-01a7-6db6-b7cf-085b-f799", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-7-d24e-cbe3-7754-fa1b-3a20-c43e-c0e0", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-6-2391-f1ef-4e67-6d01-fac1-a8c9" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-8-32a7-f716-01a7-6db6-b7cf-085b-f799-787f", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-8-d24e-cbe3-7754-fa1b-3a20-c43e-c0e0-ef83", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-7-2391-f1ef-4e67-6d01-fac1-a8c9-3f06" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-9-32a7-f716-01a7-6db6-b7cf-085b-f799-787f-ff6b", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-9-d24e-cbe3-7754-fa1b-3a20-c43e-c0e0-ef83-b84a", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-8-2391-f1ef-4e67-6d01-fac1-a8c9-3f06-d418" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-10-32a7-f716-01a7-6db6-b7cf-085b-f799-787f-ff6b-0887", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-10-d24e-cbe3-7754-fa1b-3a20-c43e-c0e0-ef83-b84a-c53b", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-9-2391-f1ef-4e67-6d01-fac1-a8c9-3f06-d418-70fa" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-11-f716-01a7-6db6-b7cf-085b-f799-787f-ff6b-0887-cdac", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-11-cbe3-7754-fa1b-3a20-c43e-c0e0-ef83-b84a-c53b-de1e", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-10-2391-f1ef-4e67-6d01-fac1-a8c9-3f06-d418-70fa-1e5d" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-12-01a7-6db6-b7cf-085b-f799-787f-ff6b-0887-cdac-a48e", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-12-7754-fa1b-3a20-c43e-c0e0-ef83-b84a-c53b-de1e-9837", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-11-f1ef-4e67-6d01-fac1-a8c9-3f06-d418-70fa-1e5d-2668" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-13-6db6-b7cf-085b-f799-787f-ff6b-0887-cdac-a48e-0200", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-13-fa1b-3a20-c43e-c0e0-ef83-b84a-c53b-de1e-9837-0788", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-12-4e67-6d01-fac1-a8c9-3f06-d418-70fa-1e5d-2668-694d" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-15-085b-f799-787f-ff6b-0887-cdac-a48e-0200-2b5a-92da", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-14-3a20-c43e-c0e0-ef83-b84a-c53b-de1e-9837-0788-7543", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-13-6d01-fac1-a8c9-3f06-d418-70fa-1e5d-2668-694d-d234" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-16-f799-787f-ff6b-0887-cdac-a48e-0200-2b5a-92da-356c", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-16-c0e0-ef83-b84a-c53b-de1e-9837-0788-7543-265f-eb1b", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-15-a8c9-3f06-d418-70fa-1e5d-2668-694d-d234-24f6-449e" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-17-787f-ff6b-0887-cdac-a48e-0200-2b5a-92da-356c-5b4a", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-17-ef83-b84a-c53b-de1e-9837-0788-7543-265f-eb1b-dc1c", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-16-3f06-d418-70fa-1e5d-2668-694d-d234-24f6-449e-d5cd" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-19-0887-cdac-a48e-0200-2b5a-92da-356c-5b4a-77c8-e154", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-18-b84a-c53b-de1e-9837-0788-7543-265f-eb1b-dc1c-61ae", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-17-d418-70fa-1e5d-2668-694d-d234-24f6-449e-d5cd-8dbc" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-22-0200-2b5a-92da-356c-5b4a-77c8-e154-a728-195c-a5d5", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-20-de1e-9837-0788-7543-265f-eb1b-dc1c-61ae-8f17-14fa", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-19-1e5d-2668-694d-d234-24f6-449e-d5cd-8dbc-22f6-21ed" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-24-92da-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336", + "next": "5edd4b4d-dae8-11ec-99e5-2f7bec2724a5-23-7543-265f-eb1b-dc1c-61ae-8f17-14fa-5cd0-1f67-4c71", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-22-d234-24f6-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-24-92da-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336", + "next": "5e5939df-dafb-11ec-b167-2f7bec2724a5-24-84c6-4822-2e30-4a81-d4a4-540d-44bd-462c-e126-8589", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-24-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-24-92da-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-24-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-24-92da-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336", + "next": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-24-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-24-92da-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336", + "next": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-24-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-24-92da-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336", + "next": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-24-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-25-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336-f821", + "next": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-1-7a84", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-24-449e-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b" + }, + { + "current": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-26-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336-f821-0f76", + "next": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-2-7a84-f68e", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-25-d5cd-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b-e4f3" + } + ], + "next": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-3-7a84-f68e-4548", + "previous": "88709fa2-dae7-11ec-aed3-2f7bec2724a5-26-8dbc-22f6-21ed-2b87-1779-a0ac-0729-0a5b-e4f3-e991" + }, + "lc_wrapper": { + "log_history": [ + "/home/jovyan/.log/20220523/20220523-222257-0170.log", + "/home/jovyan/.log/20220523/20220523-223200-0007.log", + "/home/jovyan/.log/20220523/20220523-223351-0566.log", + "/home/jovyan/.log/20220523/20220523-224938-0068.log", + "/home/jovyan/.log/20220523/20220523-225650-0008.log", + "/home/jovyan/.log/20220524/20220524-005144-0285.log", + "/home/jovyan/.log/20220524/20220524-011732-0970.log", + "/home/jovyan/.log/20220524/20220524-023551-0364.log", + "/home/jovyan/.log/20220524/20220524-025630-0099.log", + "/home/jovyan/.log/20220524/20220524-081908-0459.log", + "/home/jovyan/.log/20220524/20220524-133521-0034.log", + "/home/jovyan/.log/20220524/20220524-134128-0871.log", + "/home/jovyan/.log/20220524/20220524-140902-0104.log", + "/home/jovyan/.log/20220524/20220524-213815-0170.log", + "/home/jovyan/.log/20220524/20220524-215517-0932.log", + "/home/jovyan/.log/20220524/20220524-224617-0856.log", + "/home/jovyan/.log/20220525/20220525-082645-0122.log", + "/home/jovyan/.log/20220528/20220528-072355-0958.log", + "/home/jovyan/.log/20220528/20220528-094214-0846.log", + "/home/jovyan/.log/20220603/20220603-221856-0267.log", + "/home/jovyan/.log/20220603/20220603-225330-0739.log", + "/home/jovyan/.log/20220604/20220604-021114-0105.log", + "/home/jovyan/.log/20220604/20220604-032538-0825.log", + "/home/jovyan/.log/20220604/20220604-041337-0073.log", + "/home/jovyan/.log/20220604/20220604-071825-0511.log", + "/home/jovyan/.log/20220604/20220604-075639-0948.log", + "/home/jovyan/.log/20220604/20220604-082536-0726.log", + "/home/jovyan/.log/20220604/20220604-091002-0663.log", + "/home/jovyan/.log/20220604/20220604-221936-0596.log", + "/home/jovyan/.log/20220605/20220605-081109-0556.log", + "/home/jovyan/.log/20220605/20220605-091809-0800.log", + "/home/jovyan/.log/20220605/20220605-125741-0946.log", + "/home/jovyan/.log/20220605/20220605-213329-0002.log", + "/home/jovyan/.log/20220605/20220605-221317-0671.log", + "/home/jovyan/.log/20220606/20220606-005322-0731.log", + "/home/jovyan/.log/20220606/20220606-073216-0210.log", + "/home/jovyan/.log/20220620/20220620-051149-0016.log", + "/home/jovyan/.log/20220620/20220620-054938-0467.log", + "/home/jovyan/.log/20220620/20220620-060302-0857.log", + "/home/jovyan/.log/20220620/20220620-062452-0561.log", + "/home/jovyan/.log/20220720/20220720-092143-0133.log", + "/home/jovyan/.log/20220720/20220720-102625-0331.log", + "/home/jovyan/.log/20220720/20220720-112738-0999.log", + "/home/jovyan/.log/20220720/20220720-123901-0921.log", + "/home/jovyan/.log/20220720/20220720-224129-0608.log", + "/home/jovyan/.log/20221216/20221216-220710-0106.log", + "/home/jovyan/.log/20221216/20221216-223031-0906.log", + "/home/jovyan/.log/20221221/20221221-063107-0986.log", + "/home/jovyan/.log/20221227/20221227-015339-0782.log", + "/home/jovyan/.log/20221227/20221227-055349-0464.log", + "/home/jovyan/.log/20221227/20221227-084714-0142.log", + "/home/jovyan/.log/20230113/20230113-054109-0179.log", + "/home/jovyan/.log/20230113/20230113-072858-0197.log", + "/home/jovyan/.log/20230113/20230113-232624-0804.log", + "/home/jovyan/.log/20230114/20230114-003159-0066.log", + "/home/jovyan/.log/20230114/20230114-015751-0653.log", + "/home/jovyan/.log/20230114/20230114-024550-0318.log", + "/home/jovyan/.log/20230114/20230114-035122-0929.log", + "/home/jovyan/.log/20230114/20230114-041720-0979.log", + "/home/jovyan/.log/20230219/20230219-060137-0664.log", + "/home/jovyan/.log/20230301/20230301-045125-0206.log", + "/home/jovyan/.log/20230301/20230301-063014-0249.log", + "/home/jovyan/.log/20230303/20230303-024612-0842.log", + "/home/jovyan/.log/20230307/20230307-020755-0243.log", + "/home/jovyan/.log/20230307/20230307-060431-0152.log", + "/home/jovyan/.log/20230501/20230501-023140-0166.log", + "/home/jovyan/.log/20230501/20230501-095904-0381.log", + "/home/jovyan/.log/20230501/20230501-132758-0086.log", + "/home/jovyan/.log/20230501/20230501-134526-0337.log", + "/home/jovyan/.log/20230504/20230504-001530-0741.log", + "/home/jovyan/.log/20230507/20230507-231605-0382.log", + "/home/jovyan/.log/20230531/20230531-050936-0518.log", + "/home/jovyan/.log/20230531/20230531-052150-0454.log", + "/home/jovyan/.log/20230601/20230601-130546-0068.log", + "/home/jovyan/.log/20230829/20230829-121732-0410.log", + "/home/jovyan/.log/20230829/20230829-140444-0677.log", + "/home/jovyan/.log/20231020/20231020-011501-0122.log", + "/home/jovyan/.log/20240325/20240325-064547-0385.log", + "/home/jovyan/.log/20240326/20240326-094923-0613.log", + "/home/jovyan/.log/20240326/20240326-101750-0090.log", + "/home/jovyan/.log/20240326/20240326-104352-0923.log", + "/home/jovyan/.log/20240326/20240326-112808-0489.log" + ] + }, + "papermill": { + "duration": 3.593359, + "end_time": "2026-01-06T08:31:25.425006", + "exception": false, + "start_time": "2026-01-06T08:31:21.831647", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "run_command([\n", + " 'docker', 'run', '--detach',\n", + " '--name', rdmfs_container_name,\n", + " '--privileged',\n", + " '--network', 'host',\n", + " '--env', f'RDM_NODE_ID={project_id}',\n", + " '--env', f'RDM_TOKEN={rdm_token}',\n", + " '--env', f'RDM_API_URL={rdm_api_url}',\n", + " '--env', f'MOUNT_PATH={rdmfs_mount_path}',\n", + " rdmfs_image,\n", + "])\n", + "\n", + "storage_path = f'{rdmfs_mount_path}/{target_storage_id}'\n", + "wait_for_rdmfs(\n", + " lambda: docker_exec('test', '-d', storage_path, check=False).returncode == 0,\n", + " f'FUSE storage mount {storage_path}',\n", + ")\n", + "rdmfs_initial_container_id = rdmfs_container_id()\n", + "initial_listing = docker_exec('ls', '-1', storage_path).stdout.splitlines()\n", + "assert initial_listing == [], initial_listing\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "a3185a7f-ea07-407c-ae71-d18e0f1b6bab", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-3-7a84-f68e-4548", + "history": [ + { + "current": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-2-7a84-f68e", + "next": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec", + "previous": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-24-92da-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336" + }, + { + "current": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-3-7a84-f68e-4548", + "next": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-1-07ad", + "previous": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-25-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336-f821" + } + ], + "next": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-2-07ad-5977", + "previous": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-26-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336-f821-0f76" + }, + "papermill": { + "duration": 0.038009, + "end_time": "2026-01-06T08:31:25.506071", + "exception": false, + "start_time": "2026-01-06T08:31:25.468062", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "source": [ + "## ファイル一覧の対象ストレージに「GUIから作成.txt」をアップロードする\n", + "\n", + "ファイル一覧に「GUIから作成.txt」が表示され、rdmfsマウントから同じ内容を読み出せること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ceadb059-021d-49fe-bc3c-8554cba859c6", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:31:25.567324Z", + "iopub.status.busy": "2026-01-06T08:31:25.567052Z", + "iopub.status.idle": "2026-01-06T08:31:25.783511Z", + "shell.execute_reply": "2026-01-06T08:31:25.782361Z" + }, + "lc_cell_meme": { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-2-07ad-5977", + "history": [ + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "f8ee8dbf-dae6-11ec-b1c9-2f7bec2724a5-24-92da-356c-5b4a-77c8-e154-a728-195c-a5d5-8d84-f336" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-1-7a84" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec", + "next": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-1-7a84" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec", + "next": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-1-7a84" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-1-07ad", + "next": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-1-faf2", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-1-7a84" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-2-07ad-5977", + "next": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-2-faf2-db8d", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-2-7a84-f68e" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-2-07ad-5977", + "next": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-3-7a84-f68e-4548" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-2-07ad-5977", + "next": "eb70de36-eaca-11f0-88dd-aaa1b857283c", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-3-7a84-f68e-4548" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-2-07ad-5977", + "next": "ebf32a26-eaca-11f0-88dd-aaa1b857283c", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-3-7a84-f68e-4548" + }, + { + "current": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-2-07ad-5977", + "next": "ebf32a26-eaca-11f0-88dd-aaa1b857283c", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-3-7a84-f68e-4548" + } + ], + "next": "ebf32a26-eaca-11f0-88dd-aaa1b857283c-1-7ac7", + "previous": "2fa5a628-c44b-11f0-af30-6a40bdb2b9ec-3-7a84-f68e-4548" + }, + "papermill": { + "duration": 0.250864, + "end_time": "2026-01-06T08:31:25.786698", + "exception": false, + "start_time": "2026-01-06T08:31:25.535834", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "outputs": [], + "source": [ + "gui_filename = 'GUIから作成.txt'\n", + "gui_content = 'created through the GakuNin RDM GUI\\n'\n", + "gui_filepath = pathlib.Path(work_dir) / gui_filename\n", + "gui_filepath.write_text(gui_content, encoding='utf-8')\n", + "\n", + "async def _step(page):\n", + " await grdm.get_select_storage_title_locator(page, target_storage_name).click()\n", + " await grdm.upload_file(page, str(gui_filepath))\n", + " await grdm.wait_for_uploaded(page, gui_filename, timeout=transition_timeout)\n", + "\n", + "await run_pw(_step)\n", + "\n", + "gui_rdmfs_path = f'{storage_path}/{gui_filename}'\n", + "\n", + "def gui_file_reached_rdmfs():\n", + " result = docker_exec('cat', gui_rdmfs_path, check=False)\n", + " return result.returncode == 0 and result.stdout == gui_content\n", + "\n", + "wait_for_rdmfs(gui_file_reached_rdmfs, f'{gui_filename} uploaded through the GUI')\n", + "assert rdmfs_container_id() == rdmfs_initial_container_id\n", + "" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "c14e4283-7477-4cee-9b2c-255fc6e3bd47", + "metadata": { + "lc_cell_meme": { + "current": "ebf32a26-eaca-11f0-88dd-aaa1b857283c-1-7ac7", + "next": "eb70de36-eaca-11f0-88dd-aaa1b857283c", + "previous": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-2-07ad-5977" + }, + "papermill": { + "duration": 0.037276, + "end_time": "2026-01-06T08:31:25.858309", + "exception": false, + "start_time": "2026-01-06T08:31:25.821033", + "status": "completed" + }, + "tags": [] + }, + "source": [ + "## rdmfsマウントに「rdmfs-folder」と「日本語-rdmfs.txt」を作成する\n", + "\n", + "GakuNin RDMのファイル一覧に「rdmfs-folder」と、その配下の「日本語-rdmfs.txt」が表示されること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4c9528e0-9f79-4e09-ba50-3ebb18c6277c", + "metadata": { + "execution": { + "iopub.execute_input": "2026-01-06T08:31:25.922305Z", + "iopub.status.busy": "2026-01-06T08:31:25.921058Z", + "iopub.status.idle": "2026-01-06T08:31:26.071133Z", + "shell.execute_reply": "2026-01-06T08:31:26.069943Z" + }, + "lc_cell_meme": { + "current": "eb70de36-eaca-11f0-88dd-aaa1b857283c", + "history": [ + { + "current": "eb70de36-eaca-11f0-88dd-aaa1b857283c", + "next": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd", + "previous": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-2-07ad-5977" + }, + { + "current": "eb70de36-eaca-11f0-88dd-aaa1b857283c", + "next": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd", + "previous": "ebf32a26-eaca-11f0-88dd-aaa1b857283c" + }, + { + "current": "eb70de36-eaca-11f0-88dd-aaa1b857283c", + "next": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd", + "previous": "ebf32a26-eaca-11f0-88dd-aaa1b857283c" + } + ], + "next": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd", + "previous": "ebf32a26-eaca-11f0-88dd-aaa1b857283c-1-7ac7" + }, + "papermill": { + "duration": 0.18646, + "end_time": "2026-01-06T08:31:26.075162", + "exception": false, + "start_time": "2026-01-06T08:31:25.888702", + "status": "completed" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "rdmfs_folder = 'rdmfs-folder'\n", + "rdmfs_filename = '日本語-rdmfs.txt'\n", + "rdmfs_content = 'created through rdmfs\\n'\n", + "rdmfs_folder_path = f'{storage_path}/{rdmfs_folder}'\n", + "rdmfs_file_path = f'{rdmfs_folder_path}/{rdmfs_filename}'\n", + "\n", + "docker_exec('mkdir', rdmfs_folder_path)\n", + "docker_exec(\n", + " 'python3', '-c',\n", + " 'from pathlib import Path; import sys; Path(sys.argv[1]).write_text(sys.argv[2], encoding=\"utf-8\")',\n", + " rdmfs_file_path, rdmfs_content,\n", + ")\n", + "\n", + "async def _step(page):\n", + " await wait_for_gui_entries(\n", + " page, rdmfs_folder, present_names=(rdmfs_filename,)\n", + " )\n", + "\n", + "await run_pw(_step)\n", + "assert rdmfs_container_id() == rdmfs_initial_container_id\n", + "" + ] + }, + { + "cell_type": "markdown", + "id": "a7c97cb7-6aaa-4a15-a1d0-1639a8c3ac56", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd", + "history": [ + { + "current": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec" + }, + { + "current": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-2-faf2-db8d", + "next": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec", + "previous": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec" + }, + { + "current": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd", + "next": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-1-27cc", + "previous": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-1-07ad" + }, + { + "current": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd", + "next": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe", + "previous": "2e11bb80-c44b-11f0-af30-6a40bdb2b9ec-2-07ad-5977" + } + ], + "next": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe", + "previous": "eb70de36-eaca-11f0-88dd-aaa1b857283c" + }, + "papermill": { + "duration": 0.039515, + "end_time": "2026-01-06T08:31:26.150120", + "exception": false, + "start_time": "2026-01-06T08:31:26.110605", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "source": [ + "## ファイル一覧から「日本語-rdmfs.txt」の行のファイル名以外の部分をクリックする\n", + "\n", + "ファイル一覧の上部メニューに「プロパティ」が表示されること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "62df4079-4c55-4b78-88fa-39c47a7c94e5", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:31:26.223713Z", + "iopub.status.busy": "2026-01-06T08:31:26.222535Z", + "iopub.status.idle": "2026-01-06T08:31:36.536255Z", + "shell.execute_reply": "2026-01-06T08:31:36.534936Z" + }, + "lc_cell_meme": { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe", + "history": [ + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-1-faf2" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec", + "next": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-1-faf2" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec", + "next": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-1-faf2" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-1-27cc", + "next": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-1-aa16", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-1-faf2" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe", + "next": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-2-aa16-95b8", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-2-faf2-db8d" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe", + "next": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-3-aa16-95b8-38b8", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe", + "next": "2d52bf7c-9aed-11f1-9395-faebbd0a01ef", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe", + "next": "2d5f3e8c-9aed-11f1-9170-faebbd0a01ef", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe", + "next": "2d6a6258-9aed-11f1-bb6c-faebbd0a01ef", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe", + "next": "2d7520b2-9aed-11f1-9214-faebbd0a01ef", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd" + }, + { + "current": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe", + "next": "2d819400-9aed-11f1-b281-faebbd0a01ef", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd" + } + ], + "next": "2d8d7e00-9aed-11f1-aa58-faebbd0a01ef", + "previous": "bd1b48a4-c44c-11f0-af30-6a40bdb2b9ec-3-faf2-db8d-a2cd" + }, + "papermill": { + "duration": 10.352269, + "end_time": "2026-01-06T08:31:36.540591", + "exception": false, + "start_time": "2026-01-06T08:31:26.188322", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "outputs": [], + "source": [ + "async def _step(page):\n", + " await grdm.get_select_file_extension_locator(page, rdmfs_filename).click()\n", + " await expect(\n", + " page.locator(\n", + " '//i[contains(@class, \"fa-info-circle\")]/../*[text() = \"プロパティ\"]'\n", + " )\n", + " ).to_be_enabled(timeout=transition_timeout)\n", + "\n", + "await run_pw(_step)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "lc_cell_meme": { + "current": "2d8d7e00-9aed-11f1-aa58-faebbd0a01ef", + "next": "2d819400-9aed-11f1-b281-faebbd0a01ef", + "previous": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe" + } + }, + "source": [ + "## ファイル一覧の上部メニューから「プロパティ」をクリックする\n", + "\n", + "ファイル情報ダイアログに、以下の内容が表示されること。\n", + "\n", + "- サイズ\n", + "- 対象ストレージに応じた作成日時、更新日時、最終更新者\n", + "- 「/rdmfs-folder/日本語-rdmfs.txt」のパス" + ] + }, + { + "cell_type": "code", + "metadata": { + "lc_cell_meme": { + "current": "2d819400-9aed-11f1-b281-faebbd0a01ef", + "history": [ + { + "current": "2d819400-9aed-11f1-b281-faebbd0a01ef", + "next": "2d7520b2-9aed-11f1-9214-faebbd0a01ef", + "previous": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe" + } + ], + "next": "2d7520b2-9aed-11f1-9214-faebbd0a01ef", + "previous": "2d8d7e00-9aed-11f1-aa58-faebbd0a01ef" + } + }, + "source": [ + "if target_storage_id == 'osfstorage':\n", + " expected_create_time = 'nonempty'\n", + " expected_update_time = 'nonempty'\n", + " expected_updated_by = 'nonempty'\n", + "else:\n", + " expected_create_time = 'empty'\n", + " expected_update_time = 'nonempty'\n", + " expected_updated_by = 'empty'\n", + "\n", + "async def _step(page):\n", + " await page.locator(\n", + " '//i[contains(@class, \"fa-info-circle\")]/../*[text() = \"プロパティ\"]'\n", + " ).click()\n", + " modal = page.locator('//*[@id = \"tb-tbody\"]//*[@class = \"modal-content\"]')\n", + " size = modal.locator('//*[text() = \"サイズ: \"]/following-sibling::span')\n", + " create_time = modal.locator('//*[text() = \"作成日時: \"]/following-sibling::span')\n", + " update_time = modal.locator('//*[text() = \"更新日時: \"]/following-sibling::span')\n", + " updated_by = modal.locator('//*[text() = \"最終更新者: \"]/following-sibling::span')\n", + " path = modal.locator('//*[text() = \"パス: \"]/following-sibling::span')\n", + " await expect(size).not_to_be_empty(timeout=transition_timeout)\n", + " await grdm._expect_empty_or_not(create_time, expected_create_time)\n", + " await grdm._expect_empty_or_not(update_time, expected_update_time)\n", + " await grdm._expect_empty_or_not(updated_by, expected_updated_by)\n", + " await expect(path).to_have_text(f'/{rdmfs_folder}/{rdmfs_filename}')\n", + "\n", + "await run_pw(_step)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "metadata": { + "lc_cell_meme": { + "current": "2d7520b2-9aed-11f1-9214-faebbd0a01ef", + "history": [ + { + "current": "2d7520b2-9aed-11f1-9214-faebbd0a01ef", + "next": "2d6a6258-9aed-11f1-bb6c-faebbd0a01ef", + "previous": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe" + } + ], + "next": "2d6a6258-9aed-11f1-bb6c-faebbd0a01ef", + "previous": "2d819400-9aed-11f1-b281-faebbd0a01ef" + } + }, + "source": [ + "## ダイアログの「閉じる」をクリックする\n", + "\n", + "ファイル情報ダイアログが閉じられること。" + ] + }, + { + "cell_type": "code", + "metadata": { + "lc_cell_meme": { + "current": "2d6a6258-9aed-11f1-bb6c-faebbd0a01ef", + "history": [ + { + "current": "2d6a6258-9aed-11f1-bb6c-faebbd0a01ef", + "next": "2d5f3e8c-9aed-11f1-9170-faebbd0a01ef", + "previous": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe" + } + ], + "next": "2d5f3e8c-9aed-11f1-9170-faebbd0a01ef", + "previous": "2d7520b2-9aed-11f1-9214-faebbd0a01ef" + } + }, + "source": [ + "async def _step(page):\n", + " modal = page.locator('//*[@id = \"tb-tbody\"]//*[@class = \"modal-content\"]')\n", + " await modal.get_by_text('閉じる', exact=True).click()\n", + " await expect(modal).not_to_be_visible(timeout=transition_timeout)\n", + "\n", + "await run_pw(_step)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "metadata": { + "lc_cell_meme": { + "current": "2d5f3e8c-9aed-11f1-9170-faebbd0a01ef", + "history": [ + { + "current": "2d5f3e8c-9aed-11f1-9170-faebbd0a01ef", + "next": "2d52bf7c-9aed-11f1-9395-faebbd0a01ef", + "previous": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe" + } + ], + "next": "2d52bf7c-9aed-11f1-9395-faebbd0a01ef", + "previous": "2d6a6258-9aed-11f1-bb6c-faebbd0a01ef" + } + }, + "source": [ + "## ファイル一覧から「日本語-rdmfs.txt」のファイル名部分をクリックする\n", + "\n", + "ファイル詳細画面が表示され、rdmfsから書き込んだ内容がプレビューに表示されること。" + ] + }, + { + "cell_type": "code", + "metadata": { + "lc_cell_meme": { + "current": "2d52bf7c-9aed-11f1-9395-faebbd0a01ef", + "history": [ + { + "current": "2d52bf7c-9aed-11f1-9395-faebbd0a01ef", + "next": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-3-aa16-95b8-38b8", + "previous": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe" + } + ], + "next": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-3-aa16-95b8-38b8", + "previous": "2d5f3e8c-9aed-11f1-9170-faebbd0a01ef" + } + }, + "source": [ + "async def _step(page):\n", + " await grdm.get_select_file_title_locator(page, rdmfs_filename).click()\n", + " filename_body, filename_ext = os.path.splitext(rdmfs_filename)\n", + " await expect(\n", + " page.locator(f'//h2[contains(text(), \"{filename_body}\")]//*[@id = \"file-ext\"]')\n", + " ).to_have_text(filename_ext, timeout=transition_timeout)\n", + " preview = page.locator('iframe[src*=\"/render\"]').content_frame.locator('pre')\n", + " await expect(preview).to_have_text(rdmfs_content, timeout=transition_timeout * 5)\n", + "\n", + "await run_pw(_step)" + ], + "outputs": [], + "execution_count": null + }, + { + "cell_type": "markdown", + "id": "d98980b6-2ef0-444d-b296-7876216e4636", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-3-aa16-95b8-38b8", + "history": [ + { + "current": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec" + }, + { + "current": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-2-aa16-95b8", + "next": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec" + }, + { + "current": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-3-aa16-95b8-38b8", + "next": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-1-2be6", + "previous": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-1-27cc" + }, + { + "current": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-3-aa16-95b8-38b8", + "next": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-2-2be6-68c8", + "previous": "bdbc9d76-c44c-11f0-af30-6a40bdb2b9ec-2-27cc-0cfe" + } + ], + "next": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-2-2be6-68c8", + "previous": "2d52bf7c-9aed-11f1-9395-faebbd0a01ef" + }, + "papermill": { + "duration": 0.041269, + "end_time": "2026-01-06T08:31:36.619372", + "exception": false, + "start_time": "2026-01-06T08:31:36.578103", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "source": [ + "## rdmfsマウントで「日本語-rdmfs.txt」を「日本語-rdmfs-renamed.txt」に名前を変更する\n", + "\n", + "GakuNin RDMのファイル一覧から変更前のファイル名が消え、変更後のファイル名が表示されること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d2cecc09-989c-4c9b-8221-eebefa21e628", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:31:36.693299Z", + "iopub.status.busy": "2026-01-06T08:31:36.692097Z", + "iopub.status.idle": "2026-01-06T08:31:36.947849Z", + "shell.execute_reply": "2026-01-06T08:31:36.946814Z" + }, + "lc_cell_meme": { + "current": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-2-2be6-68c8", + "execution_end_time": "2025-11-25T07:18:49.722Z", + "history": [ + { + "current": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-1-aa16" + }, + { + "current": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "bf686812-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-1-aa16" + }, + { + "current": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "bf686812-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-1-aa16" + }, + { + "current": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-1-2be6", + "next": "bf686812-c9c9-11f0-9373-6a40bdb2b9ec-1-2a8b", + "previous": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-1-aa16" + }, + { + "current": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-2-2be6-68c8", + "next": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-2-406f-763f", + "previous": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-2-aa16-95b8" + }, + { + "current": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-2-2be6-68c8", + "next": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-3-406f-763f-46b2", + "previous": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-3-aa16-95b8-38b8" + } + ], + "next": "1a7c355e-9aed-11f1-b680-faebbd0a01ef", + "previous": "b9155786-c9c9-11f0-9373-6a40bdb2b9ec-3-aa16-95b8-38b8" + }, + "papermill": { + "duration": 0.295576, + "end_time": "2026-01-06T08:31:36.951821", + "exception": false, + "start_time": "2026-01-06T08:31:36.656245", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "outputs": [], + "source": [ + "rdmfs_renamed_filename = '日本語-rdmfs-renamed.txt'\n", + "rdmfs_renamed_path = f'{rdmfs_folder_path}/{rdmfs_renamed_filename}'\n", + "\n", + "async def _step(page):\n", + " await page.goto(f'{project_url}files/')\n", + " await wait_for_gui_entries(\n", + " page, rdmfs_folder, present_names=(rdmfs_filename,)\n", + " )\n", + "\n", + "await run_pw(_step)\n", + "\n", + "docker_exec('mv', rdmfs_file_path, rdmfs_renamed_path)\n", + "\n", + "async def _step(page):\n", + " await wait_for_gui_entries(\n", + " page,\n", + " rdmfs_folder,\n", + " present_names=(rdmfs_renamed_filename,),\n", + " absent_names=(rdmfs_filename,),\n", + " )\n", + "\n", + "await run_pw(_step)\n", + "assert rdmfs_container_id() == rdmfs_initial_container_id" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "lc_cell_meme": { + "current": "1a7c355e-9aed-11f1-b680-faebbd0a01ef", + "history": [ + { + "current": "1a7c355e-9aed-11f1-b680-faebbd0a01ef", + "next": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-3-406f-763f-46b2", + "previous": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-2-2be6-68c8" + } + ], + "next": "1a884e16-9aed-11f1-a871-faebbd0a01ef", + "previous": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-2-2be6-68c8" + } + }, + "source": [ + "## rdmfsマウントから「日本語-rdmfs-renamed.txt」と「rdmfs-folder」を削除する\n", + "\n", + "GakuNin RDMのファイル一覧から「rdmfs-folder」が消えること。" + ] + }, + { + "cell_type": "code", + "metadata": { + "lc_cell_meme": { + "current": "1a884e16-9aed-11f1-a871-faebbd0a01ef", + "next": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-3-406f-763f-46b2", + "previous": "1a7c355e-9aed-11f1-b680-faebbd0a01ef" + } + }, + "source": [ + "docker_exec('rm', rdmfs_renamed_path)\n", + "docker_exec('rmdir', rdmfs_folder_path)\n", + "\n", + "async def _step(page):\n", + " deadline = time.monotonic() + sync_timeout\n", + " folder = grdm.get_select_folder_title_locator(page, rdmfs_folder)\n", + " while time.monotonic() \u003c deadline:\n", + " await page.reload(wait_until='domcontentloaded')\n", + " if not await folder.is_visible():\n", + " return\n", + " await page.wait_for_timeout(sync_poll_interval * 1000)\n", + " raise AssertionError(f'Timed out waiting for deleted GUI folder: {rdmfs_folder}')\n", + "\n", + "await run_pw(_step)\n", + "assert rdmfs_container_id() == rdmfs_initial_container_id" + ], + "outputs": [], + "execution_count": null + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "9f4dcbb5-6a82-4d4d-91fe-201c295dce92", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-3-406f-763f-46b2", + "history": [ + { + "current": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "bfd2d396-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-2-406f-763f", + "next": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "bfd2d396-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-3-406f-763f-46b2", + "next": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec-1-3957", + "previous": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-1-2be6" + }, + { + "current": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-3-406f-763f-46b2", + "next": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec-2-3957-6f57", + "previous": "bc3a5ad8-c9c9-11f0-9373-6a40bdb2b9ec-2-2be6-68c8" + }, + { + "current": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-3-406f-763f-46b2", + "next": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec-2-3957-6f57", + "previous": "1a7c355e-9aed-11f1-b680-faebbd0a01ef" + } + ], + "next": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec-2-3957-6f57", + "previous": "1a884e16-9aed-11f1-a871-faebbd0a01ef" + }, + "papermill": { + "duration": 0.037024, + "end_time": "2026-01-06T08:31:37.027742", + "exception": false, + "start_time": "2026-01-06T08:31:36.990718", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "source": [ + "## rdmfsコンテナを停止して削除する\n", + "\n", + "試験に使用したrdmfsコンテナが削除されること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "33562911-809b-4c0b-b0cd-c1333c9e85c1", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:31:37.100220Z", + "iopub.status.busy": "2026-01-06T08:31:37.099272Z", + "iopub.status.idle": "2026-01-06T08:31:40.357538Z", + "shell.execute_reply": "2026-01-06T08:31:40.356316Z" + }, + "lc_cell_meme": { + "current": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec-2-3957-6f57", + "execution_end_time": "2025-11-25T08:11:36.205Z", + "history": [ + { + "current": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-1-406f" + }, + { + "current": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-1-406f" + }, + { + "current": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec-1-3957", + "next": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-1-3ba2", + "previous": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-1-406f" + }, + { + "current": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec-2-3957-6f57", + "next": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-2-3ba2-3aee", + "previous": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-2-406f-763f" + } + ], + "next": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-3-3ba2-3aee-c2e2", + "previous": "c053177c-c9c9-11f0-9373-6a40bdb2b9ec-3-406f-763f-46b2" + }, + "papermill": { + "duration": 3.29773, + "end_time": "2026-01-06T08:31:40.360400", + "exception": false, + "start_time": "2026-01-06T08:31:37.062670", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "outputs": [], + "source": [ + "removed_container = run_command(\n", + " ['docker', 'rm', '--force', rdmfs_container_name]\n", + ").stdout.strip()\n", + "assert removed_container == rdmfs_container_name\n", + "" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "7aade53b-cf60-480d-8554-3e023a843f67", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-3-3ba2-3aee-c2e2", + "history": [ + { + "current": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-2-3ba2-3aee", + "next": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec", + "previous": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-3-3ba2-3aee-c2e2", + "next": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec-1-0426", + "previous": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec-1-3957" + } + ], + "next": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec-2-0426-5181", + "previous": "c0a9e34a-c9c9-11f0-9373-6a40bdb2b9ec-2-3957-6f57" + }, + "papermill": { + "duration": 0.03792, + "end_time": "2026-01-06T08:31:40.438415", + "exception": false, + "start_time": "2026-01-06T08:31:40.400495", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "source": [ + "## プロジェクト設定から試験対象プロジェクトを削除する\n", + "\n", + "ダッシュボードが表示され、プロジェクト一覧から試験対象プロジェクトが消えること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8e7c4397-545a-4c66-a84c-edcbd6be55c2", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:31:40.516822Z", + "iopub.status.busy": "2026-01-06T08:31:40.515778Z", + "iopub.status.idle": "2026-01-06T08:31:41.112810Z", + "shell.execute_reply": "2026-01-06T08:31:41.111703Z" + }, + "lc_cell_meme": { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec-2-0426-5181", + "execution_end_time": "2025-11-25T08:11:40.785Z", + "history": [ + { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-1-3ba2" + }, + { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-1-3ba2" + }, + { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-1-3ba2" + }, + { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-1-3ba2" + }, + { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-1-3ba2" + }, + { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec", + "next": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-1-3ba2" + }, + { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec-1-0426", + "next": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-1-8cde", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-1-3ba2" + }, + { + "current": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec-2-0426-5181", + "next": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-2-8cde-d581", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-2-3ba2-3aee" + } + ], + "next": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-3-8cde-d581-72f0", + "previous": "c12fe0e4-c9c9-11f0-9373-6a40bdb2b9ec-3-3ba2-3aee-c2e2" + }, + "papermill": { + "duration": 0.639137, + "end_time": "2026-01-06T08:31:41.115808", + "exception": false, + "start_time": "2026-01-06T08:31:40.476671", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "async def _step(page):\n", + " await page.goto(project_url)\n", + " await grdm.delete_project(page, transition_timeout=transition_timeout)\n", + " await grdm.expect_dashboard(page, transition_timeout=transition_timeout)\n", + " await expect(page.locator(\n", + " f'//*[@data-test-dashboard-item-title and text()=\"{rdm_project_name}\"]'\n", + " )).to_have_count(0, timeout=transition_timeout)\n", + "\n", + "await run_pw(_step)\n", + "" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "ca5e9b15-80bf-49dc-959c-f5546cf2db05", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-3-8cde-d581-72f0", + "history": [ + { + "current": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-1-8cde", + "next": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-1-8cde", + "next": "38edbd02-da4d-11f0-806b-12ab7e3bb6be", + "previous": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-1-8cde", + "next": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-1-8cde", + "next": "c0df0a02-da4f-11f0-806b-12ab7e3bb6be", + "previous": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-2-8cde-d581", + "next": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-3-8cde-d581-72f0", + "next": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec-1-eae1", + "previous": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec-1-0426" + } + ], + "next": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec-2-eae1-e2b0", + "previous": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec-2-0426-5181" + }, + "papermill": { + "duration": 0.041693, + "end_time": "2026-01-06T08:31:41.200404", + "exception": false, + "start_time": "2026-01-06T08:31:41.158711", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "source": [ + "## ユーザーメニューから「設定」を開き、作成したPersonal Access Tokenを無効化する\n", + "\n", + "作成したPersonal Access Tokenが一覧から消え、無効化の成功通知が表示されること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "305d88b1-63da-4c39-9df9-f9640fc5cb36", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:31:41.280512Z", + "iopub.status.busy": "2026-01-06T08:31:41.279563Z", + "iopub.status.idle": "2026-01-06T08:31:55.633313Z", + "shell.execute_reply": "2026-01-06T08:31:55.632285Z" + }, + "lc_cell_meme": { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec-2-eae1-e2b0", + "history": [ + { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-1-8cde" + }, + { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-1-8cde" + }, + { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2", + "previous": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-1-8cde" + }, + { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2", + "previous": "38edbd02-da4d-11f0-806b-12ab7e3bb6be" + }, + { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2", + "previous": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-1-8cde" + }, + { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2", + "previous": "c0df0a02-da4f-11f0-806b-12ab7e3bb6be" + }, + { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec-1-eae1", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2", + "previous": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-1-8cde" + }, + { + "current": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec-2-eae1-e2b0", + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-2-47a2-3a4c", + "previous": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-2-8cde-d581" + } + ], + "next": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-3-47a2-3a4c-1287", + "previous": "74f8aa14-c9d6-11f0-9373-6a40bdb2b9ec-3-8cde-d581-72f0" + }, + "papermill": { + "duration": 14.396386, + "end_time": "2026-01-06T08:31:55.636406", + "exception": false, + "start_time": "2026-01-06T08:31:41.240020", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "outputs": [], + "source": [ + "async def _step(page):\n", + " auth_toggle = page.locator('//a[@data-test-auth-dropdown-toggle]')\n", + " await expect(auth_toggle).to_be_visible(timeout=transition_timeout)\n", + " await auth_toggle.click()\n", + "\n", + " settings_link = page.locator('//a[@data-test-ad-settings]')\n", + " await expect(settings_link).to_be_visible(timeout=transition_timeout)\n", + " await settings_link.click()\n", + "\n", + " personal_tokens_link = page.locator('a[href=\"/settings/tokens/\"]')\n", + " await expect(personal_tokens_link).to_be_visible(timeout=transition_timeout)\n", + " await personal_tokens_link.click()\n", + "\n", + " token_row = page.locator(f'//tr[.//span[text() = \"{token_name}\"]]')\n", + " await expect(token_row).to_be_visible(timeout=transition_timeout)\n", + " await token_row.locator('i.fa-times.text-danger').click()\n", + " confirm_button = page.locator('//*[@data-bb-handler = \"confirm\"]')\n", + " await expect(confirm_button).to_be_visible(timeout=transition_timeout)\n", + " await confirm_button.click()\n", + " await expect(token_row).to_have_count(0, timeout=transition_timeout)\n", + " success_notice = page.locator('[data-growl=\"container\"].alert-success')\n", + " await expect(success_notice).to_contain_text(\n", + " f'\"{token_name}\"は無効化されました', timeout=transition_timeout\n", + " )\n", + " await success_notice.locator('button[data-growl=\"dismiss\"]').click()\n", + " await expect(success_notice).not_to_be_visible(timeout=transition_timeout)\n", + "\n", + "await run_pw(_step)\n", + "rdm_token = None\n", + "" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "17c48555-0625-48e9-9cc3-b0aa3a15bbbc", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-3-47a2-3a4c-1287", + "history": [ + { + "current": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-2-47a2-3a4c", + "next": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "previous": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-3-47a2-3a4c-1287", + "next": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-1-c149", + "previous": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec-1-eae1" + } + ], + "next": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-2-c149-d204", + "previous": "74fb72f8-c9d6-11f0-9373-6a40bdb2b9ec-2-eae1-e2b0" + }, + "papermill": { + "duration": 0.056593, + "end_time": "2026-01-06T08:31:55.738884", + "exception": false, + "start_time": "2026-01-06T08:31:55.682291", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "source": [ + "## ユーザーメニューから「ログアウト」を選択する\n", + "\n", + "未ログインのGakuNin RDMトップページが表示されること。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5796b492-a5ef-4d8c-b344-9675355a6a88", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:31:55.831333Z", + "iopub.status.busy": "2026-01-06T08:31:55.830153Z", + "iopub.status.idle": "2026-01-06T08:31:57.655727Z", + "shell.execute_reply": "2026-01-06T08:31:57.654789Z" + }, + "lc_cell_meme": { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-2-c149-d204", + "history": [ + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "c1ab1c8c-c9c9-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-19-9a6a-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "26a7b24a-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "26a7b24a-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "272d833e-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "27656754-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "27837fe6-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "27a02f10-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "27bcb6b2-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "27d8d25c-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "27f3cada-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "27f3cada-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "2840bfde-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "2840bfde-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "28ac73c8-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "28e5c132-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec", + "next": "28e5c132-da54-11f0-806b-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-1-c149", + "next": "28e5c132-da54-11f0-806b-12ab7e3bb6be-1-8a30", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-1-47a2" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-1-c149", + "next": "28e5c132-da54-11f0-806b-12ab7e3bb6be-2-8a30-f54a", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-2-47a2-3a4c" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-1-c149", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-20-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b-e7a9", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-2-47a2-3a4c" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-1-c149", + "next": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-2-47a2-3a4c" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-1-c149", + "next": "409ce280-dc96-11f0-99a8-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-2-47a2-3a4c" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-1-c149", + "next": "409ce280-dc96-11f0-99a8-12ab7e3bb6be", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-2-47a2-3a4c" + }, + { + "current": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-2-c149-d204", + "next": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-1-fa5c", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-2-47a2-3a4c" + } + ], + "next": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-2-fa5c-f1f1", + "previous": "7435a456-c9d6-11f0-9373-6a40bdb2b9ec-3-47a2-3a4c-1287" + }, + "papermill": { + "duration": 1.87359, + "end_time": "2026-01-06T08:31:57.659386", + "exception": false, + "start_time": "2026-01-06T08:31:55.785796", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "scrolled": true, + "tags": [] + }, + "outputs": [], + "source": [ + "async def _step(page):\n", + " await grdm.logout(page, idp_name_1, transition_timeout=transition_timeout)\n", + "\n", + "await run_pw(_step)\n", + "" + ] + }, + { + "attachments": {}, + "cell_type": "markdown", + "id": "d85d723b-556f-49d7-a0d9-6e972cf1a046", + "metadata": { + "deletable": true, + "editable": true, + "lc_cell_meme": { + "current": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-2-fa5c-f1f1", + "history": [ + { + "current": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-2-fa5c-f1f1", + "next": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be", + "previous": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-1-c149" + } + ], + "next": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be-1-dd87", + "previous": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-2-c149-d204" + }, + "papermill": { + "duration": 0.042451, + "end_time": "2026-01-06T08:31:57.751561", + "exception": false, + "start_time": "2026-01-06T08:31:57.709110", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "source": [ + "## 終了処理を実施する\n", + "\n", + "ブラウザコンテキストを終了し、一時ファイルを削除する。" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6fa8d458-7f0a-4751-892a-26cf6dcbc575", + "metadata": { + "deletable": true, + "execution": { + "iopub.execute_input": "2026-01-06T08:31:57.833394Z", + "iopub.status.busy": "2026-01-06T08:31:57.832153Z", + "iopub.status.idle": "2026-01-06T08:32:00.269139Z", + "shell.execute_reply": "2026-01-06T08:32:00.268044Z" + }, + "lc_cell_meme": { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be-1-dd87", + "history": [ + { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-20-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b-e7a9", + "previous": "73cf2834-c9d6-11f0-9373-6a40bdb2b9ec-1-c149" + }, + { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-20-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b-e7a9", + "previous": "409ce280-dc96-11f0-99a8-12ab7e3bb6be" + }, + { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-20-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b-e7a9", + "previous": "409ce280-dc96-11f0-99a8-12ab7e3bb6be" + }, + { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be", + "next": "0d1531e8-80d6-11ed-95e1-0242ac120004-20-72f2-e590-6280-4255-b950-ee56-66a6-e6c0-1b4b-e7a9", + "previous": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-1-fa5c" + }, + { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be", + "next": "4419b014-dc96-11f0-99a8-12ab7e3bb6be", + "previous": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-1-fa5c" + }, + { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be", + "next": "4454265e-dc96-11f0-99a8-12ab7e3bb6be", + "previous": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-1-fa5c" + }, + { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be", + "next": "44f42b5e-dc96-11f0-99a8-12ab7e3bb6be", + "previous": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-1-fa5c" + }, + { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be", + "next": "44f42b5e-dc96-11f0-99a8-12ab7e3bb6be", + "previous": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-1-fa5c" + }, + { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be-1-dd87", + "next": "44f42b5e-dc96-11f0-99a8-12ab7e3bb6be-1-0d90", + "previous": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-1-fa5c" + }, + { + "current": "4052e07c-dc96-11f0-99a8-12ab7e3bb6be-1-dd87", + "next": "44f42b5e-dc96-11f0-99a8-12ab7e3bb6be-2-0d90-db11", + "previous": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-2-fa5c-f1f1" + } + ], + "next": null, + "previous": "409ce280-dc96-11f0-99a8-12ab7e3bb6be-2-fa5c-f1f1" + }, + "papermill": { + "duration": 2.481772, + "end_time": "2026-01-06T08:32:00.272649", + "exception": false, + "start_time": "2026-01-06T08:31:57.790877", + "status": "completed" + }, + "pinnedOutputTabIndex": 0, + "run_through_control": { + "frozen": false, + "read_only": false + }, + "tags": [] + }, + "outputs": [], + "source": [ + "await finish_pw_context(last_path=default_result_path)\n", + "shutil.rmtree(work_dir)\n", + "" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.9" + }, + "lc_notebook_meme": { + "current": "fdf30b38-0421-11ef-b901-9ee4ca18f90f", + "lc_server_signature": { + "current": { + "notebook_dir": "/home/jovyan", + "notebook_path": "/テスト手順-Wiki操作-WikiHierarchy.ipynb", + "signature_id": "e16ae418-9da4-11f0-a537-ce96f44cf9f5" + } + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}