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.3.24.1.tar.gz (251.2 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.3.24.1-py3-none-any.whl (254.8 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for snaplogic_common_robot-2026.3.24.1.tar.gz
Algorithm Hash digest
SHA256 3f823fb936ff68c78ee0f998ca3b0625af9ee19ad12a0a3d7819df77cb075bd4
MD5 3aac5303865019dcc0f8bcd9f9411046
BLAKE2b-256 4bcc7453dc065ced7ba3f4545c1378495d47d3be3f4bbf9794041db65c6b8c2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for snaplogic_common_robot-2026.3.24.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3a50979f867a7121950489d86c955503659958884fba9a0727497e4dec8fc46c
MD5 26de330ce1c3a0bad3f6788d3632c9c9
BLAKE2b-256 0ad6df8f21f9b714ed0c30af6ba58aa3c58887380b74798f8aff3f1b5d276e27

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