def test_string_asset(self): """ Tests that we serialize string assets correctly. """ struct = rpc.serialize_resource_props( {"asset": StringAsset("how do i python")}) asset = struct["asset"] self.assertEqual(rpc._special_asset_sig, asset[rpc._special_sig_key]) self.assertEqual("how do i python", asset["text"])
async def test_asset_archive(self): archive = AssetArchive({"foo": StringAsset("bar")}) deps = [] prop = await rpc.serialize_property(archive, deps) self.assertDictEqual( { rpc._special_sig_key: rpc._special_archive_sig, "assets": { "foo": { rpc._special_sig_key: rpc._special_asset_sig, "text": "bar" } } }, prop)
async def test_string_asset(self): asset = StringAsset("Python 3 is cool") prop = await rpc.serialize_property(asset, []) self.assertEqual(rpc._special_asset_sig, prop[rpc._special_sig_key]) self.assertEqual("Python 3 is cool", prop["text"])
# Copyright 2016-2018, Pulumi Corporation. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from pulumi import CustomResource from pulumi.asset import FileAsset, StringAsset, RemoteAsset class MyResource(CustomResource): def __init__(self, name, asset): CustomResource.__init__(self, "test:index:MyResource", name, props={"asset": asset}) MyResource("file", FileAsset("./testfile.txt")) MyResource("string", StringAsset("its a string")) MyResource("remote", RemoteAsset("https://pulumi.com"))