Skip to content

Latest commit

 

History

History
153 lines (109 loc) · 3.87 KB

test-suite.md

File metadata and controls

153 lines (109 loc) · 3.87 KB

OCM Test Suite Documentation

This document provides detailed information about the OCM Test Suite available in the Development Stockpile project.

Table of Contents

Overview

The OCM Test Suite is designed to validate interoperability between different EFSS platforms implementing the OCM standard. It provides comprehensive testing for various sharing scenarios and authentication mechanisms.

For detailed information about which platforms and versions can interoperate with each other, please refer to our Platform Compatibility Matrix.

Supported Platforms

  • Nextcloud (v27.x, v28.x, v30.x)
  • ownCloud (v10.x)
  • OCM Stub (v1.x)
  • Seafile (v11.x)
  • OCIS (v5.x)

Test Infrastructure

  • Cypress for end-to-end testing
  • Docker for containerized environments
  • GitHub Actions for CI/CD
  • Custom test runners and utilities

Test Categories

Before running any tests, please check the Platform Compatibility Matrix to ensure your target platforms and versions are compatible with the feature you want to test.

Login Tests

Verify authentication mechanisms across platforms.

./dev/ocm-test-suite.sh login nextcloud v30.0.2 ci chrome

What's Being Tested

  • User authentication flow
  • Session management
  • Error handling for invalid credentials
  • Two-factor authentication (if configured)
  • Token-based authentication

Share Link Tests

Test public link sharing capabilities between platforms.

./dev/ocm-test-suite.sh share-link nextcloud v30.0.2 ci chrome owncloud v10.15.0

What's Being Tested

  • Link creation and validation
  • Cross-platform link access

Share With Tests

Validate direct file sharing between users on different platforms.

./dev/ocm-test-suite.sh share-with nextcloud v30.0.2 ci chrome nextcloud v30.0.2

What's Being Tested

  • User-to-user sharing
  • Group sharing
  • Share acceptance/rejection
  • Notification delivery

Invite Link Tests

Test user invitation workflows between platforms.

./dev/ocm-test-suite.sh invite-link nextcloud-sm v27.1.11-sm ci chrome owncloud-sm v10.15.0-sm

What's Being Tested

  • Invitation creation and validation
  • Invitation acceptance flow
  • User provisioning process
  • Cross-platform user linking

Running Tests

Prerequisites

  • Docker and Docker Compose installed
  • Required Docker images pulled

Test Environment Setup

  1. Pull required images:
./docker/pull/all.sh

Test Command Structure

./dev/ocm-test-suite.sh <category> <platform1> <version1> <mode> <browser> [platform2] [version2]

Parameters:

  • category: Test category (login, share-link, share-with, invite-link)
  • platform1: First platform (nextcloud, owncloud, ocmstub, seafile, ocis)
  • version1: Version of first platform
  • mode: Test mode (dev/ci)
  • browser: Browser for testing (chrome/firefox)
  • platform2: (optional) Second platform for cross-platform tests
  • version2: (optional) Version of second platform

Test Configuration

Configuration Files

  • cypress.config.js: Cypress configuration

CI/CD Integration

GitHub Actions

  1. Workflow files are in .github/workflows/
  2. Each workflow tests specific platform combinations
  3. Tests run on pull requests and main branch

Troubleshooting

Common Issues

  1. Container Startup Issues

    # Check container logs
    docker logs <container_name>
  2. Network Problems

    # Verify network connectivity
    docker network inspect testnet
  3. Test Failures

    • Check Cypress screenshots: cypress/screenshots/
    • Review test videos: cypress/videos/
    • Check test logs: cypress/logs/