canonicalwebteam.launchpad
version
LaunchPad APIを介して、スナップとUbuntu画像のビルドをトリガーするためのクラス。
ローカル開発のために、ubuntu.comのようなウェブサイトプロジェクトの1つでこのモジュールをテストするのが最善です。詳細については、このガイド(内部のみ)をフォローしてください。
from canonicalwebteam . launchpad import SnapBuilder
snap_builder = SnapBuilder (
username = "build.snapcraft.io" ,
token = os . getenv ( "SNAP_BUILDER_TOKEN" ),
secret = os . getenv ( "SNAP_BUILDER_SECRET" ),
)
snap_name = "new-test-snap"
git_repo = "https://github.com/build-staging-snapcraft-io/test1"
snap_builder . create_snap ( snap_name , git_repo )
new_snap = snap_builder . get_snap_by_store_name ( "new-test-snap" ) from canonicalwebteam . launchpad import ImageBuilder
image_builder = ImageBuilder (
username = "image.build" ,
token = os . getenv ( "IMAGE_BUILDER_TOKEN" ),
secret = os . getenv ( "IMAGE_BUILDER_SECRET" ),
)
image_builder . build_image (
board = "cm3" , system = "core16" , snaps = [ "code" , "toto" ]
)テストLaunchPad APIを表す備品に対するコールを確認します。これらの備品は、テストが最初に実行されたときにAPIへの実際の呼び出しに基づいて、VCRPYを使用して生成されます。
新しいAPI応答に依存する新しいテスト、またはAPIが変更されたために既存のフィクスチャを再生する必要がある場合、次のようにAPIを認証するために秘密を提供する必要があります。
export SNAP_BUILDER_TOKEN={token}
export SNAP_BUILDER_SECRET={secret}
export IMAGE_BUILDER_TOKEN={token}
export IMAGE_BUILDER_SECRET={secret}
rm tests/cassettes/... # Remove any fixtures you need to regenerate
./setup.py test # Run tests again to regenerate fixtures