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)