Revision 5d94c034 test/py/ganeti.storage.filestorage_unittest.py

b/test/py/ganeti.storage.filestorage_unittest.py
45 45
    """
46 46
    info = filestorage.GetSpaceInfo("/")
47 47

  
48
  def testParseDfOutputValidInput(self):
49
    """Tests that parsing of the output of 'df' works correctly.
50

  
51
    """
52
    valid_df_output = \
53
      "Filesystem             1M-blocks   Used Available Use% Mounted on\n" \
54
      "/dev/mapper/sysvg-root   161002M 58421M    94403M  39% /"
55
    expected_size = 161002
56
    expected_free = 94403
57

  
58
    (size, free) = filestorage._ParseDfResult(valid_df_output)
59
    self.assertEqual(expected_size, size,
60
                     "Calculation of total size is incorrect.")
61
    self.assertEqual(expected_free, free,
62
                     "Calculation of free space is incorrect.")
63

  
64

  
65
  def testParseDfOutputInvalidInput(self):
66
    """Tests that parsing of the output of 'df' works correctly when invalid
67
       input is given.
68

  
69
    """
70
    invalid_output_header_missing = \
71
      "/dev/mapper/sysvg-root   161002M 58421M    94403M  39% /"
72
    invalid_output_dataline_missing = \
73
      "Filesystem             1M-blocks   Used Available Use% Mounted on\n"
74
    invalid_output_wrong_num_columns = \
75
      "Filesystem             1M-blocks Available\n" \
76
      "/dev/mapper/sysvg-root   161002M    94403M"
77
    invalid_output_units_wrong = \
78
      "Filesystem             1M-blocks   Used Available Use% Mounted on\n" \
79
      "/dev/mapper/sysvg-root   161002G 58421G    94403G  39% /"
80
    invalid_output_units_missing = \
81
      "Filesystem             1M-blocks   Used Available Use% Mounted on\n" \
82
      "/dev/mapper/sysvg-root    161002  58421     94403  39% /"
83
    invalid_outputs = [invalid_output_header_missing,
84
                       invalid_output_dataline_missing,
85
                       invalid_output_wrong_num_columns,
86
                       invalid_output_units_wrong,
87
                       invalid_output_units_missing]
88

  
89
    for output in invalid_outputs:
90
      self.assertRaises(errors.CommandError, filestorage._ParseDfResult, output)
91

  
92 48

  
93 49
if __name__ == "__main__":
94 50
  testutils.GanetiTestProgram()

Also available in: Unified diff