mirror of
https://github.com/clearlinux/WALinuxAgent.git
synced 2026-09-04 04:41:35 +00:00
Support internal plugin
This commit is contained in:
@@ -921,7 +921,7 @@ class ExtensionManifest(object):
|
||||
def parse(self, xmlText):
|
||||
logger.Verbose("Extension manifest:{0}", xmlText)
|
||||
xmlDoc = ET.fromstring(xmlText.strip())
|
||||
packages = FindAllNodes(xmlDoc, ".//Plugins/Plugin")
|
||||
packages = FindAllNodes(xmlDoc, ".//Plugin")
|
||||
for package in packages:
|
||||
version = FindFirstNode(package, "Version").text
|
||||
uris = FindAllNodes(package, "Uris/Uri")
|
||||
|
||||
@@ -77,21 +77,28 @@ ExtensionsConfigSample="""\
|
||||
ManifestSample="""\
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PluginVersionManifest xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<Plugins>
|
||||
<Plugin>
|
||||
<Version>1.0</Version>
|
||||
<Uris>
|
||||
<Uri>http://blahblah</Uri>
|
||||
</Uris>
|
||||
</Plugin>
|
||||
<Plugin>
|
||||
<Version>1.1</Version>
|
||||
<Uris>
|
||||
<Uri>http://blahblah</Uri>
|
||||
</Uris>
|
||||
</Plugin>
|
||||
</Plugins>
|
||||
<InternalPlugins />
|
||||
<Plugins>
|
||||
<Plugin>
|
||||
<Version>1.0</Version>
|
||||
<Uris>
|
||||
<Uri>http://blahblah</Uri>
|
||||
</Uris>
|
||||
</Plugin>
|
||||
<Plugin>
|
||||
<Version>1.1</Version>
|
||||
<Uris>
|
||||
<Uri>http://blahblah</Uri>
|
||||
</Uris>
|
||||
</Plugin>
|
||||
</Plugins>
|
||||
<InternalPlugins>
|
||||
<Plugin>
|
||||
<Version>1.2</Version>
|
||||
<Uris>
|
||||
<Uri>http://blahblah</Uri>
|
||||
</Uris>
|
||||
</Plugin>
|
||||
</InternalPlugins>
|
||||
</PluginVersionManifest>
|
||||
"""
|
||||
|
||||
@@ -114,6 +121,10 @@ class TestExtensionsConfig(unittest.TestCase):
|
||||
self.assertEquals(json.loads('{"foo":"bar"}'),
|
||||
extension.getPublicSettings())
|
||||
|
||||
man = v1.ExtensionManifest(ManifestSample)
|
||||
self.assertNotEquals(None, man.versionUris)
|
||||
self.assertEquals(3, len(man.versionUris))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user