moto/tests/test_ec2/test_windows.py
2024-01-27 19:38:09 +00:00

34 lines
1.2 KiB
Python

import os
from unittest import SkipTest, mock
import boto3
from moto import mock_aws, settings
from tests import EXAMPLE_AMI_PARAVIRTUAL, EXAMPLE_AMI_WINDOWS
# The default AMIs are not loaded for our test case, to speed things up
# But we do need it for this specific test (and others in this file..)
@mock.patch.dict(os.environ, {"MOTO_EC2_LOAD_DEFAULT_AMIS": "true"})
@mock_aws
def test_get_password_data():
if settings.TEST_SERVER_MODE:
raise SkipTest("Can't set environment variables in ServerMode")
client = boto3.client("ec2", region_name="us-east-1")
# Ensure non-windows instances return empty password data
instance_id = client.run_instances(
ImageId=EXAMPLE_AMI_PARAVIRTUAL, MinCount=1, MaxCount=1
)["Instances"][0]["InstanceId"]
resp = client.get_password_data(InstanceId=instance_id)
assert resp["InstanceId"] == instance_id
assert resp["PasswordData"] == ""
# Ensure Windows instances
instance_id = client.run_instances(
ImageId=EXAMPLE_AMI_WINDOWS, MinCount=1, MaxCount=1
)["Instances"][0]["InstanceId"]
resp = client.get_password_data(InstanceId=instance_id)
assert resp["InstanceId"] == instance_id
assert len(resp["PasswordData"]) == 128