Git Product home page Git Product logo

xp-testing's Introduction

End-to-end test framework for Crossplane providers

xp-testing is a library enabling end-to-end tests for Crossplane providers, based on kubernetes-sigs/e2e-framework.

This testing framework helps to set up test suites, by handling the deployments of crossplane and providers & ensures providers are loaded into the cluster & helpers to speedup test development.

  • pkg/xpconditions supports with assertions
  • pkg/resources helps with handling of importing and deleting of resources while testing & an opinionated way to create Test Features
  • pkg/setup provides a default cluster setup, ready to take just the most necessary information and boostrap the test suite
  • pkg/xpenvfuncs provide basic functions to compose a test environment

Getting Started and Documentation

For getting started guides, installation, deployment, and administration, check latest Crossplane document.

A reference implementation of xp-testing is available in provider-argocd.

Contributing

xp-testing is a community driven project and we welcome contributions. See the Crossplane Contributing guidelines to get started.

Report a Bug

For filing bugs, suggesting improvements, or requesting new features, please open an issue.

Contact

Please use the following to reach members of the community:

Governance and Owners

xp-testing is run according to the same Governance and Ownership structure as the core Crossplane project.

Code of Conduct

xp-testing adheres to the same Code of Conduct as the core Crossplane project.

Licensing

xp-testing is under the Apache 2.0 license.

Credits

Initially developed by v0lkc, mirzakopic and their team at SAP.

xp-testing's People

Contributors

haarchri avatar maximilianbraun avatar maximiliantech avatar mirzakopic avatar renovate[bot] avatar sdischer-sap avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

xp-testing's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/codeql.yml
  • fkirc/skip-duplicate-actions v5.3.1
  • actions/checkout v4
  • github/codeql-action v3
  • github/codeql-action v3
  • github/codeql-action v3
  • ubuntu 22.04
  • ubuntu 22.04
.github/workflows/dependency-review.yml
  • actions/checkout v4
  • actions/dependency-review-action v4
.github/workflows/go.yml
  • actions/checkout v4
  • actions/setup-go v5
.github/workflows/lint.yaml
  • actions/setup-go v5
  • actions/checkout v4
  • golangci/golangci-lint-action v6
gomod
go.mod
  • go 1.20
  • github.com/google/go-containerregistry v0.19.0
  • github.com/pkg/errors v0.9.1
  • github.com/samber/lo v1.39.0
  • github.com/stretchr/testify v1.9.0
  • github.com/vladimirvivien/gexe v0.2.0
  • k8s.io/api v0.27.4
  • k8s.io/apiextensions-apiserver v0.27.4
  • k8s.io/apimachinery v0.27.4
  • k8s.io/client-go v0.27.4
  • k8s.io/klog/v2 v2.100.1
  • sigs.k8s.io/e2e-framework v0.3.0

  • Check this box to trigger a request for Renovate to run again on this repository

Add support for DeploymentRuntimeConfig

Context

xp-testing currently only supports to use ControllerConfig, with Crossplane 1.14 the successor DeploymentRuntimeConfig is available

Task

  • DeploymentRuntimeConfig shall be supported along `ControllerConfig´ to stay compatible with older Crossplane versions

Remove dependency to crossplane/crossplane

Context & Problem Statement

Today, xp-testing uses types from crossplane/crossplane. This results into a set of transitive dependencies which can make it hard to integrate with providers.

Proposal

Remove the dependency to crossplane/crossplane by replacing the use of the Types with either mirroring types. E.g. ControllerConfig is part of the API xp-testing is explosing. Where we use, e.g. Provider type we could go with unstructured clients.

Remove dependency to crossplane-runtime

Context

Currently it can be hard to integrate xp-testing with providers not using exactly the currently used crossplane-runtime version.

Tasks

Remove dependency to crossplane-runtime.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.