old_contents: from attr import attrs, attrib
  from attr import Factory
  
  
  TEST_GROUP_PATTERN = "{prefix}-container.json"
  TEST_CASE_PATTERN = "{prefix}-result.json"
  ATTACHMENT_PATTERN = '{prefix}-attachment.{ext}'
  INDENT = 4
  
  
  @attrs
  class TestResultContainer(object):
      file_pattern = TEST_GROUP_PATTERN
  
      uuid = attrib(default=None)
      name = attrib(default=None)
      children = attrib(default=Factory(list))
      description = attrib(default=None)
      descriptionHtml = attrib(default=None)
      befores = attrib(default=Factory(list))
      afters = attrib(default=Factory(list))
      links = attrib(default=Factory(list))
      start = attrib(default=None)
      stop = attrib(default=None)
  
  
  @attrs
  class ExecutableItem(object):
      name = attrib(default=None)
      status = attrib(default=None)
      statusDetails = attrib(default=None)
      stage = attrib(default=None)
      description = attrib(default=None)
      descriptionHtml = attrib(default=None)
      steps = attrib(default=Factory(list))
      attachments = attrib(default=Factory(list))
      parameters = attrib(default=Factory(list))
      start = attrib(default=None)
      stop = attrib(default=None)
  
  
  @attrs
  class TestResult(ExecutableItem):
      file_pattern = TEST_CASE_PATTERN
  
      uuid = attrib(default=None)
      historyId = attrib(default=None)
      testCaseId = attrib(default=None)
      fullName = attrib(default=None)
      labels = attrib(default=Factory(list))
      links = attrib(default=Factory(list))
  
  
  @attrs
  class TestStepResult(ExecutableItem):
      id = attrib(default=None)
  
  
  @attrs
  class TestBeforeResult(ExecutableItem):
      pass
  
  
  @attrs
  class TestAfterResult(ExecutableItem):
      pass
  
  
  @attrs
  class Parameter(object):
      name = attrib(default=None)
      value = attrib(default=None)
  
  
  @attrs
  class Label(object):
      name = attrib(default=None)
      value = attrib(default=None)
  
  
  @attrs
  class Link(object):
      type = attrib(default=None)
      url = attrib(default=None)
      name = attrib(default=None)
  
  
  @attrs
  class StatusDetails(object):
      known = attrib(default=None)
      flaky = attrib(default=None)
      message = attrib(default=None)
      trace = attrib(default=None)
  
  
  @attrs
  class Attachment(object):
      name = attrib(default=None)
      source = attrib(default=None)
      type = attrib(default=None)
  
  
  class Status(object):
      FAILED = 'failed'
      BROKEN = 'broken'
      PASSED = 'passed'
      SKIPPED = 'skipped'
  
new_contents: from attr import attrs, attrib
  from attr import Factory
  
  
  TEST_GROUP_PATTERN = "{prefix}-container.json"
  TEST_CASE_PATTERN = "{prefix}-result.json"
  ATTACHMENT_PATTERN = '{prefix}-attachment.{ext}'
  INDENT = 4
  
  
  @attrs
  class TestResultContainer(object):
      file_pattern = TEST_GROUP_PATTERN
  
      uuid = attrib(default=None)
      name = attrib(default=None)
      children = attrib(default=Factory(list))
      description = attrib(default=None)
      descriptionHtml = attrib(default=None)
      befores = attrib(default=Factory(list))
      afters = attrib(default=Factory(list))
      links = attrib(default=Factory(list))
      start = attrib(default=None)
      stop = attrib(default=None)
  
  
  @attrs
  class ExecutableItem(object):
      name = attrib(default=None)
      status = attrib(default=None)
      statusDetails = attrib(default=None)
      stage = attrib(default=None)
      description = attrib(default=None)
      descriptionHtml = attrib(default=None)
      steps = attrib(default=Factory(list))
      attachments = attrib(default=Factory(list))
      parameters = attrib(default=Factory(list))
      start = attrib(default=None)
      stop = attrib(default=None)
  
  
  @attrs
  class TestResult(ExecutableItem):
      file_pattern = TEST_CASE_PATTERN
  
      uuid = attrib(default=None)
      historyId = attrib(default=None)
      testCaseId = attrib(default=None)
      fullName = attrib(default=None)
      labels = attrib(default=Factory(list))
      links = attrib(default=Factory(list))
  
  
  @attrs
  class TestStepResult(ExecutableItem):
      id = attrib(default=None)
  
  
  @attrs
  class TestBeforeResult(ExecutableItem):
      pass
  
  
  @attrs
  class TestAfterResult(ExecutableItem):
      pass
  
  
  @attrs
  class Parameter(object):
      name = attrib(default=None)
      value = attrib(default=None)
  
  
  @attrs
  class Label(object):
      name = attrib(default=None)
      value = attrib(default=None)
  
  
  @attrs
  class Link(object):
      type = attrib(default=None)
      url = attrib(default=None)
      name = attrib(default=None)
  
  
  @attrs
  class StatusDetails(object):
      known = attrib(default=None)
      flaky = attrib(default=None)
      message = attrib(default=None)
      trace = attrib(default=None)
  
  
  @attrs
  class Attachment(object):
      name = attrib(default=None)
      source = attrib(default=None)
      type = attrib(default=None)
  
  
  class Status(object):
      FAILED = 'failed'
      BROKEN = 'broken'
      PASSED = 'passed'
      SKIPPED = 'skipped'
      UNKNOWN = 'unknown'
  
subject: add "unknown" status (via #523)