'''
Test the grains module
'''
import integration


class TestModulesGrains(integration.ModuleCase):
    '''
    Test the grains module
    '''
    def test_items(self):
        '''
        grains.items
        '''
        opts = self.minion_opts
        self.assertEqual(
            self.run_function('grains.items')['test_grain'],
            opts['grains']['test_grain']
        )

    def test_item(self):
        '''
        grains.item
        '''
        opts = self.minion_opts
        self.assertEqual(
            self.run_function('grains.item', ['test_grain']),
            opts['grains']['test_grain']
        )

    def test_ls(self):
        '''
        grains.ls
        '''
        check_for = (
            'cpuarch',
            'cpu_flags',
            'cpu_model',
            'domain',
            'fqdn',
            'host',
            'kernel',
            'kernelrelease',
            'localhost',
            'mem_total',
            'num_cpus',
            'os',
            'path',
            'ps',
            'pythonpath',
            'pythonversion',
            'saltpath',
            'saltversion',
            'virtual',
        )
        lsgrains = self.run_function('grains.ls')
        for grain_name in check_for:
            self.assertTrue(grain_name in lsgrains)


if __name__ == '__main__':
    from integration import run_tests
    run_tests(TestModulesGrains)

'''
Test the grains module
'''
import integration


class TestModulesGrains(integration.ModuleCase):
    '''
    Test the grains module
    '''
    def test_items(self):
        '''
        grains.items
        '''
        opts = self.minion_opts
        self.assertEqual(
            self.run_function('grains.items')['test_grain'],
            opts['grains']['test_grain']
        )

    def test_item(self):
        '''
        grains.item
        '''
        opts = self.minion_opts
        self.assertEqual(
            self.run_function('grains.item', ['test_grain']),
            opts['grains']['test_grain']
        )

    def test_ls(self):
        '''
        grains.ls
        '''
        check_for = (
            'cpuarch',
            'cpu_flags',
            'cpu_model',
            'domain',
            'fqdn',
            'host',
            'kernel',
            'kernelrelease',
            'localhost',
            'mem_total',
            'num_cpus',
            'os',
            'os_family',
            'path',
            'ps',
            'pythonpath',
            'pythonversion',
            'saltpath',
            'saltversion',
            'virtual',
        )
        lsgrains = self.run_function('grains.ls')
        for grain_name in check_for:
            self.assertTrue(grain_name in lsgrains)


if __name__ == '__main__':
    from integration import run_tests
    run_tests(TestModulesGrains)

Add test to test if os_family grain is provided.
Add test to test if os_family grain is provided.

Corey Quinn reported a issue where __grains__['os_family'] returned a
KeyError. This commits adds a check to the grains module test to ensure
os_family is present.

  '''
  Test the grains module
  '''
  import integration
  
  
  class TestModulesGrains(integration.ModuleCase):
      '''
      Test the grains module
      '''
      def test_items(self):
          '''
          grains.items
          '''
          opts = self.minion_opts
          self.assertEqual(
              self.run_function('grains.items')['test_grain'],
              opts['grains']['test_grain']
          )
  
      def test_item(self):
          '''
          grains.item
          '''
          opts = self.minion_opts
          self.assertEqual(
              self.run_function('grains.item', ['test_grain']),
              opts['grains']['test_grain']
          )
  
      def test_ls(self):
          '''
          grains.ls
          '''
          check_for = (
              'cpuarch',
              'cpu_flags',
              'cpu_model',
              'domain',
              'fqdn',
              'host',
              'kernel',
              'kernelrelease',
              'localhost',
              'mem_total',
              'num_cpus',
              'os',
+             'os_family',
              'path',
              'ps',
              'pythonpath',
              'pythonversion',
              'saltpath',
              'saltversion',
              'virtual',
          )
          lsgrains = self.run_function('grains.ls')
          for grain_name in check_for:
              self.assertTrue(grain_name in lsgrains)
  
  
  if __name__ == '__main__':
      from integration import run_tests
      run_tests(TestModulesGrains)
  
Add test to test if os_family grain is provided.
## Code Before:
'''
Test the grains module
'''
import integration


class TestModulesGrains(integration.ModuleCase):
    '''
    Test the grains module
    '''
    def test_items(self):
        '''
        grains.items
        '''
        opts = self.minion_opts
        self.assertEqual(
            self.run_function('grains.items')['test_grain'],
            opts['grains']['test_grain']
        )

    def test_item(self):
        '''
        grains.item
        '''
        opts = self.minion_opts
        self.assertEqual(
            self.run_function('grains.item', ['test_grain']),
            opts['grains']['test_grain']
        )

    def test_ls(self):
        '''
        grains.ls
        '''
        check_for = (
            'cpuarch',
            'cpu_flags',
            'cpu_model',
            'domain',
            'fqdn',
            'host',
            'kernel',
            'kernelrelease',
            'localhost',
            'mem_total',
            'num_cpus',
            'os',
            'path',
            'ps',
            'pythonpath',
            'pythonversion',
            'saltpath',
            'saltversion',
            'virtual',
        )
        lsgrains = self.run_function('grains.ls')
        for grain_name in check_for:
            self.assertTrue(grain_name in lsgrains)


if __name__ == '__main__':
    from integration import run_tests
    run_tests(TestModulesGrains)

## Instruction:
Add test to test if os_family grain is provided.
## Code After:
'''
Test the grains module
'''
import integration


class TestModulesGrains(integration.ModuleCase):
    '''
    Test the grains module
    '''
    def test_items(self):
        '''
        grains.items
        '''
        opts = self.minion_opts
        self.assertEqual(
            self.run_function('grains.items')['test_grain'],
            opts['grains']['test_grain']
        )

    def test_item(self):
        '''
        grains.item
        '''
        opts = self.minion_opts
        self.assertEqual(
            self.run_function('grains.item', ['test_grain']),
            opts['grains']['test_grain']
        )

    def test_ls(self):
        '''
        grains.ls
        '''
        check_for = (
            'cpuarch',
            'cpu_flags',
            'cpu_model',
            'domain',
            'fqdn',
            'host',
            'kernel',
            'kernelrelease',
            'localhost',
            'mem_total',
            'num_cpus',
            'os',
            'os_family',
            'path',
            'ps',
            'pythonpath',
            'pythonversion',
            'saltpath',
            'saltversion',
            'virtual',
        )
        lsgrains = self.run_function('grains.ls')
        for grain_name in check_for:
            self.assertTrue(grain_name in lsgrains)


if __name__ == '__main__':
    from integration import run_tests
    run_tests(TestModulesGrains)
