def TestEqualsIsTrue(self): configs = TestServiceConfigurations.GetNonExistentArgs() service = ServiceConfigurations.GenerateNewServiceFromServiceDefinition( newServiceDefinition=configs) service1 = ServiceConfigurations.GenerateNewServiceFromServiceDefinition( newServiceDefinition=configs) self.assertTrue(service == service1)
def TestNotEqualsIsFalse(self): configs = TestServiceConfigurations.GetNonExistentArgs() service = ServiceConfigurations.GenerateNewServiceFromServiceDefinition( newServiceDefinition=configs) service1 = ServiceConfigurations.GenerateNewServiceFromServiceDefinition( newServiceDefinition=configs) equals = service != service1 self.assertFalse(equals)
def TestCreateFromNonExistingAndExisting(self): configs = TestServiceConfigurations.GetNonExistentArgs() service1 = ServiceConfigurations.GenerateFromOperatingSystem( 1, configs.ServiceName) configs2 = TestServiceConfigurations.GetNonExistentArgs() service2 = ServiceConfigurations.GenerateNewServiceFromServiceDefinition( configs) self.assertTrue(service1 == service2)
def TestCreateFromNonExistingWithDefaults(self): newServiceDefinition = NewServiceDefinition( serviceName="MyTestService", displayName="MyTestService", binaryPathName="C:\\Windows\\System32\\cmd.exe /c echo hello") service = ServiceConfigurations.GenerateNewServiceFromServiceDefinition( newServiceDefinition=newServiceDefinition) self.assertTrue(service.configurations['ServiceType'].Win32Value() == self.mockwin32service.SERVICE_WIN32_OWN_PROCESS) self.assertTrue( service.configurations['LoadOrderGroup'].Win32Value() == u'') self.assertTrue(service.configurations['BinaryPathName'].Win32Value() == "C:\\Windows\\System32\\cmd.exe /c echo hello") self.assertTrue(service.configurations['ServiceStartName'].Win32Value( ) == u'LocalSystem') self.assertTrue(service.configurations['ServiceName'].Win32Value() == "MyTestService") self.assertTrue(service.configurations['DisplayName'].Win32Value() == "MyTestService") self.assertTrue(service.configurations['StartType'].Win32Value() == self.mockwin32service.SERVICE_DEMAND_START) self.assertTrue( service.configurations['Dependencies'].Win32Value() == None) self.assertTrue(service.configurations['ErrorControl'].Win32Value() == self.mockwin32service.SERVICE_ERROR_NORMAL)
def TestNotEqualsIsTrue(self): configs = TestServiceConfigurations.GetNonExistentArgs() service = ServiceConfigurations.GenerateNewServiceFromServiceDefinition( newServiceDefinition=configs) for key, value in service.configurations.iteritems(): if key == 'TagId': continue service1 = ServiceConfigurations.GenerateNewServiceFromServiceDefinition( newServiceDefinition=configs) if isinstance(value, int): service1.configurations[key] = service1.configurations[key] + 1 if isinstance(value, list): service1.configurations[key] = None else: service1.configurations[key] = 'NewValue' equals = service == service1 self.assertTrue(not equals, key + ' is not compared')
def GenerateFromOperatingSystem(serviceName): # Just making sure that the service exists if not ServiceEntity.ServiceExists(serviceName.StringValue()): raise ValueError('Service "{0}" does not exists'.format(serviceName)) serviceConfigManagerHandle = win32service.OpenSCManager('', None, win32service.SC_MANAGER_ALL_ACCESS) serviceConfigurations = ServiceConfigurations.GenerateFromOperatingSystem(serviceConfigManagerHandle, serviceName) serviceConfigurations2 = ServiceConfigurations2.GenerateFromOperatingSystem(serviceConfigManagerHandle, serviceName) return ServiceEntity(serviceConfigManagerHandle, serviceName, serviceConfigurations, serviceConfigurations2)
def TestCreateFromExisting(self): configs = TestServiceConfigurations.GetNonExistentArgs() service = ServiceConfigurations.GenerateNewServiceFromServiceDefinition( configs) self.assertTrue(service == service)
def TestCreateFromNonExisting(self): configs = TestServiceConfigurations.GetNonExistentArgs() service = ServiceConfigurations.GenerateFromOperatingSystem( 1, configs.ServiceName) self.assertTrue(service == service)
def GenerateNewServiceFromServiceDefinition(newServiceDefinition): serviceConfigManagerHandle = win32service.OpenSCManager('', None, win32service.SC_MANAGER_ALL_ACCESS) serviceConfigurations = ServiceConfigurations.GenerateNewServiceFromServiceDefinition(newServiceDefinition) serviceConfigurations2 = ServiceConfigurations2.GenerateNewServiceFromServiceDefinition(newServiceDefinition) return ServiceEntity(serviceConfigManagerHandle, newServiceDefinition.ServiceName, serviceConfigurations, serviceConfigurations2)