def testConfigMap(self):
     tag = 'myZenpack'
     fileDict = {
         "service.json": {
             'servicePath': '/',
             'serviceDefinition': {
                 'Name': "Svc",
                 'Id': 'svc',
                 'ConfigFiles': {
                     '/opt/zenoss/etc/service.conf': {},
                     '/opt/zenoss/etc/other.conf': {}
                 }
             }
         },
     }
     configMap = {
         '/opt/zenoss/etc/service.conf': "foobar",
         '/opt/zenoss/etc/other.conf': "boofar"
     }
     context = _MockServiceMigrationContext()
     client = _MockControlPlaneClient(services=_services)
     with setControlPlaneClient(client), setCurrentService(
             'zope'), setServiceMigrationContext(context):
         z = ZenPack('id')
         z._loadServiceDefinition = createMockLoadServiceDefinitions(
             fileDict)
         z.installServicesFromFiles(fileDict.keys(), [configMap], tag)
     self.assertEquals(len(fileDict), len(context.added))
     for i, j in ((i[0], json.loads(i[1])) for i in context.added):
         for key, val in configMap.iteritems():
             self.assertEquals(j['ConfigFiles'][key]['Content'], val)
 def testInstallFromFiles(self):
     tag = 'myZenpack'
     E_KEY = 'expectedParentId'  # for this test only - associates path with service
     P_KEY = 'servicePath'  # key defining path at which to install service
     D_KEY = 'serviceDefinition'  # key defining service to be installed
     I_KEY = 'Id'  # key defining ID
     N_KEY = 'Name'  # key defining Name
     # Mock the filesystem - maps path->json file contents
     fileDict = dict(
         a={
             P_KEY: '/',
             D_KEY: {
                 E_KEY: 'zenoss',
                 I_KEY: 'a',
                 N_KEY: 'A'
             }
         },
         b={
             P_KEY: '/hub',
             D_KEY: {
                 E_KEY: 'hub1',
                 I_KEY: 'b',
                 N_KEY: 'B'
             }
         },
         c={
             P_KEY: '/hub',
             D_KEY: {
                 E_KEY: 'hub1',
                 I_KEY: 'c',
                 N_KEY: 'C'
             }
         },
     )
     context = _MockServiceMigrationContext()
     client = _MockControlPlaneClient(services=_services)
     with setControlPlaneClient(client), setCurrentService(
             'zope'), setServiceMigrationContext(context):
         z = ZenPack('id')
         z._loadServiceDefinition = createMockLoadServiceDefinitions(
             fileDict)
         z.installServicesFromFiles(fileDict.keys(),
                                    [{}] * len(fileDict.keys()), tag)
     self.assertEquals(len(fileDict), len(context.added))
     for i, j in ((i[0], json.loads(i[1])) for i in context.added):
         self.assertEquals(i, j[E_KEY])