Skip to main content

Robot Framework library with keywords for SnapLogic API testing and automation

Project description

SnapLogic Common Robot Library Guide

Table of Contents

  1. Overview
  2. Embedded Documentation
  3. Library Distribution
  4. Library Structure
  5. Installation
  6. Exploring Keywords
  7. Usage in Test Framework
  8. Summary

Overview

snaplogic_common_robot is a custom Robot Framework library that provides reusable keywords and utilities specifically designed for SnapLogic automation testing. This library encapsulates common SnapLogic operations, API interactions, and testing patterns into convenient Robot Framework keywords.

Key Features

  • SnapLogic API Integration - Keywords for SnapLogic REST API operations
  • Pipeline Management - Keywords for pipeline import, export, and execution
  • Account Management - Keywords for creating and managing SnapLogic accounts
  • Project Operations - Keywords for project space and project management
  • Groundplex Operations - Keywords for Groundplex creation and management
  • Embedded Documentation - Complete keyword documentation included in the package
  • Reusable Components - Common testing patterns abstracted into keywords

Library Benefits

  • Consistency - Standardized approach to SnapLogic testing across projects
  • Productivity - Pre-built keywords reduce test development time
  • Maintainability - Centralized library simplifies updates and bug fixes
  • Documentation - Built-in keyword documentation and examples
  • Version Control - Semantic versioning for stable releases
  • Rich Dependencies - Includes comprehensive set of testing libraries automatically

Embedded Documentation

The library includes comprehensive documentation that is packaged with the installation:

1. Keyword Documentation (LibDoc)

# Generated Robot Framework keyword documentation
snaplogic-common-robot/src/snaplogic_common_robot/libdocs/index.html
snaplogic-common-robot/src/snaplogic_common_robot/libdocs/snaplogic_keywords.html
snaplogic-common-robot/src/snaplogic_common_robot/libdocs/snaplogic_apis.html
snaplogic-common-robot/src/snaplogic_common_robot/libdocs/common_utilities.html

๐Ÿ“– Quick Access: To browse the complete keyword documentation with an interactive interface, simply open the index.html file in your web browser. This provides a comprehensive overview with navigation links to all available keyword libraries and their detailed documentation.

2. Resource Files Documentation

# All keywords include detailed documentation in resource files
# snaplogic_keywords.resource - Main keyword resource file
# snaplogic_apis.resource - SnapLogic API resource file
# common_utilities.resource - Common utility keywords

# Example keyword documentation structure:
# Create Account From Template
#     [Documentation]    Creates a SnapLogic account from a JSON template file.
#     [Arguments]    ${template_path}
#     ...

Library Distribution

PyPI Publication

The snaplogic_common_robot library is published to a PyPI server, making it easily installable and distributable:

# Library is available on PyPI server
Package Name: snaplogic-common-robot
Distribution: Python Package Index (PyPI)
Format: Python Wheel (.whl) and Source Distribution (.tar.gz)

Bundled Dependencies

When you install snaplogic-common-robot via pip install, the following libraries are automatically installed (defined in pyproject.toml):

Core Robot Framework Libraries

  • robotframework>=3.2
  • robotframework-requests
  • robotframework-docker
  • robotframework-databaselibrary
  • robotframework-jsonlibrary
  • robotframework-csvlibrary
  • robotframework-robocop
  • robotframework-tidy[generate_config]
  • robotframework-dependencylibrary
  • robotframework-pabot==2.18.0

Data Processing Libraries

  • requests>=2.25.0
  • envyaml
  • deepdiff
  • pyyaml
  • jinja2>=2.11.0
  • tabulate
  • python-dotenv

Development and Build Tools

  • cookiecutter

Optional Development Dependencies (pip install snaplogic-common-robot[dev])

  • pytest, pytest-cov
  • black, flake8, mypy
  • pre-commit

Note: The following libraries are used in the Docker-based test environment (via requirements.txt) but are not bundled with the pip install: awscli, boto3, stomp-py, twine, build.

Library Structure

Package Structure

snaplogic-common-robot/
โ”œโ”€โ”€ .env
โ”œโ”€โ”€ .env.example
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ .pre-commit-config.yaml
โ”œโ”€โ”€ .travis.yml
โ”œโ”€โ”€ ENV_SETUP.md
โ”œโ”€โ”€ README.md
โ”œโ”€โ”€ Makefile
โ”œโ”€โ”€ pyproject.toml
โ”œโ”€โ”€ snaplogic_common_robot.Dockerfile
โ”œโ”€โ”€ entrypoint.sh
โ”œโ”€โ”€ scripts/
โ”‚   โ”œโ”€โ”€ delete_old_package_versions.sh
โ”‚   โ”œโ”€โ”€ generate_calver.py
โ”‚   โ”œโ”€โ”€ generate_libdoc.sh
โ”‚   โ””โ”€โ”€ upload_lib_docs_to_s3.py
โ”œโ”€โ”€ meta-data/
โ”œโ”€โ”€ dist/
โ””โ”€โ”€ src/
    โ”œโ”€โ”€ requirements.txt
    โ”œโ”€โ”€ snaplogic_common_robot/
    โ”‚   โ”œโ”€โ”€ __init__.py
    โ”‚   โ”œโ”€โ”€ libdocs/
    โ”‚   โ”‚   โ”œโ”€โ”€ index.html
    โ”‚   โ”‚   โ”œโ”€โ”€ common_utilities.html
    โ”‚   โ”‚   โ”œโ”€โ”€ raw_common_utilities.html
    โ”‚   โ”‚   โ”œโ”€โ”€ raw_snaplogic_apis.html
    โ”‚   โ”‚   โ”œโ”€โ”€ raw_snaplogic_keywords.html
    โ”‚   โ”‚   โ”œโ”€โ”€ robot-doc-styles.css
    โ”‚   โ”‚   โ”œโ”€โ”€ snaplogic_apis.html
    โ”‚   โ”‚   โ””โ”€โ”€ snaplogic_keywords.html
    โ”‚   โ”œโ”€โ”€ libraries/
    โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
    โ”‚   โ”‚   โ”œโ”€โ”€ auth_manager.py
    โ”‚   โ”‚   โ””โ”€โ”€ utils.py
    โ”‚   โ”œโ”€โ”€ snaplogic_apis_keywords/
    โ”‚   โ”‚   โ”œโ”€โ”€ __init__.py
    โ”‚   โ”‚   โ”œโ”€โ”€ common_utilities.resource      # Common utility keywords
    โ”‚   โ”‚   โ”œโ”€โ”€ snaplogic_apis.resource       # SnapLogic API resource file
    โ”‚   โ”‚   โ””โ”€โ”€ snaplogic_keywords.resource   # Main keyword resource file
    โ”‚   โ””โ”€โ”€ test_data/
    โ”‚       โ”œโ”€โ”€ __init__.py
    โ”‚       โ”œโ”€โ”€ slim_groundplex.json
    โ”‚       โ”œโ”€โ”€ triggered_task.json
    โ”‚       โ””โ”€โ”€ ultra_task.json
    โ””โ”€โ”€ snaplogic_common_robot.egg-info/
        โ”œโ”€โ”€ PKG-INFO
        โ”œโ”€โ”€ SOURCES.txt
        โ”œโ”€โ”€ dependency_links.txt
        โ”œโ”€โ”€ requires.txt
        โ””โ”€โ”€ top_level.txt

Installation

# Install from PyPI (automatically installs all dependencies)
pip install snaplogic-common-robot

# Verify installation
pip show snaplogic-common-robot

# Check Robot Framework installation
robot --version

Exploring Keywords

# List all keywords in the library
python -m robot.libdoc snaplogic_common_robot list

# Get specific keyword information
python -m robot.libdoc snaplogic_common_robot show "Create Snaplex"

Usage in Test Framework

Add the keywords path as resource

*** Settings ***

Resource    snaplogic_common_robot/snaplogic_apis_keywords/snaplogic_keywords.resource
Resource    snaplogic_common_robot/snaplogic_apis_keywords/snaplogic_apis.resource
Resource    snaplogic_common_robot/snaplogic_apis_keywords/common_utilities.resource

Example Keyword Usage

*** Test Cases ***
Create And Configure Account
    [Documentation]    Example of using snaplogic-common-robot keywords
    
    # Use keywords from the library
    Create Account From Template    ${account_payload_path}/acc_oracle.json
    
    Import Pipelines From Template    ${unique_id}    ${pipeline_file_path}    ${pipeline_name}    ${pipeline_name_slp}
    
    Create Triggered Task From Template
    ...    ${unique_id}
    ...    ${project_path}
    ...    ${pipeline_name}
    ...    ${task_name}
    ...    ${task_params}
    ...    ${task_notifications}

Available Keyword Categories

  1. Authentication Keywords

    • Set Up SnapLogic Connection
    • Authenticate User
    • Get Auth Token
  2. Project Management Keywords

    • Create Project Space
    • Delete Project Space
    • Create Project
    • Get Project Details
  3. Account Management Keywords

    • Create Account From Template
    • Update Account Settings
    • Delete Account
    • Validate Account
  4. Pipeline Keywords

    • Import Pipelines From Template
    • Export Pipeline
    • Validate Pipeline
    • Execute Pipeline
  5. Groundplex Keywords

    • Create Snaplex
    • Download Config File
    • Check Snaplex Status
    • Delete Snaplex
  6. Task Management Keywords

    • Create Triggered Task From Template
    • Run Triggered Task
    • Get Task Status
    • Update Task Parameters
  7. Utility Functions

    • File and JSON handling utilities
    • Template processing functions
    • Data validation helpers

Troubleshooting

# Check library installation
pip show snaplogic-common-robot

# Verify keyword availability
python -m robot.libdoc snaplogic_common_robot.snaplogic_apis_keywords.snaplogic_keywords list
python -m robot.libdoc snaplogic_common_robot.snaplogic_apis_keywords.snaplogic_apis list

Summary

The snaplogic_common_robot library provides a comprehensive set of Robot Framework keywords specifically designed for SnapLogic automation testing. Key points:

  • Distributed via PyPI for easy installation and version management
  • Comprehensive Dependencies โ€” Single pip install brings 20+ testing libraries automatically
  • Includes embedded documentation with keywords, examples, and API references
  • Complete Testing Ecosystem โ€” Includes Robot Framework extensions, data processing libraries, and development utilities

๐Ÿ“š Related Resources


The snaplogic_common_robot library is the foundation for consistent, maintainable SnapLogic automation testing across all projects and environments.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snaplogic_common_robot-2026.4.15.1.tar.gz (255.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snaplogic_common_robot-2026.4.15.1-py3-none-any.whl (258.9 kB view details)

Uploaded Python 3

File details

Details for the file snaplogic_common_robot-2026.4.15.1.tar.gz.

File metadata

File hashes

Hashes for snaplogic_common_robot-2026.4.15.1.tar.gz
Algorithm Hash digest
SHA256 1f0c3b83a29bbc0f0f33fcc54ec1695c1febe5b8b34fd6ef9b2bec5bd80bb119
MD5 4f3c3eb2104a8875b06791e859c7c4e7
BLAKE2b-256 e1e261edd82cdb8ab25deae23636c88abde3238b88a1405f986d343f50ba83ae

See more details on using hashes here.

File details

Details for the file snaplogic_common_robot-2026.4.15.1-py3-none-any.whl.

File metadata

File hashes

Hashes for snaplogic_common_robot-2026.4.15.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5eaff649b41c44860dc0796b90bcc1ec7cae11e12e24602943f11d2a6db509e2
MD5 b479cfd8aa7ab0d94bf8dbb7b35a0b79
BLAKE2b-256 3f7a5353825b94c5b75920ebd266ceef5901bba9367c82712ef26ef848cd81d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page