def test_build_and_publish_macos()

in aws/hhvm1/lambdas/test.py [0:0]


  def test_build_and_publish_macos(self):
    future = (date.today() + timedelta(days=2)).strftime('%Y.%m.%d')
    macos1 = list(Config.macos_versions.keys())[0]

    activity = activities.BuildAndPublishMacOS(
      {'version': future, 'buildInput': {'platforms': []}}
    )
    self.assertEqual(
      activity.platforms_to_build(),
      Config.macos_versions.keys()
    )
    self.assertEqual(activity.should_run(), True)
    self.assertEqual(
      activity.task_env(),
      {'PLATFORM': Config.macos_versions[macos1]}
        if len(Config.macos_versions) == 1
        else {}
    )

    activity = activities.BuildAndPublishMacOS(
      {'version': future, 'buildInput': {'platforms': [macos1, 'ubuntu']}}
    )
    self.assertEqual(activity.platforms_to_build(), {macos1})
    self.assertEqual(activity.should_run(), True)
    self.assertEqual(
      activity.task_env(),
      {'PLATFORM': Config.macos_versions[macos1]}
    )

    if len(Config.macos_versions) > 1:
      macos2 = list(Config.macos_versions.keys())[1]
      activity = activities.BuildAndPublishMacOS(
        {'version': future, 'buildInput': {'platforms': [macos1, macos2]}}
      )
      self.assertEqual(activity.platforms_to_build(), {macos1, macos2})
      self.assertEqual(activity.should_run(), True)
      self.assertEqual(activity.task_env(), {})

    activity = activities.BuildAndPublishMacOS(
      {'version': future, 'buildInput': {'platforms': ['ubuntu']}}
    )
    self.assertEqual(activity.should_run(), False)
    self.assertEqual(activity.platforms_to_build(), set())

    activity = activities.BuildAndPublishMacOS(
      {'version': '4.102.0', 'buildInput': {'platforms': []}}
    )
    self.assertEqual(activity.platforms_to_build(), set())
    self.assertEqual(activity.should_run(), False)

    activity = activities.BuildAndPublishMacOS(
      {'version': '4.102.0', 'buildInput': {'platforms': [macos1]}}
    )
    self.assertEqual(activity.platforms_to_build(), set())
    self.assertEqual(activity.should_run(), False)

    # test build
    activity = activities.BuildAndPublishMacOS({
      'version': future,
      'buildInput': {'debug': 'test_build', 'platforms': []}
    })
    self.assertEqual(
      activity.platforms_to_build(),
      Config.macos_versions.keys()
    )
    self.assertEqual(activity.should_run(), True)
    self.assertEqual(
      activity.task_env(),
      {'PLATFORM': Config.macos_versions[macos1], 'SKIP_PUBLISH': '1'}
        if len(Config.macos_versions) == 1
        else {'SKIP_PUBLISH': '1'}
    )

    activity = activities.BuildAndPublishMacOS({
      'version': future,
      'buildInput': {'debug': 'test_build', 'platforms': [macos1]}
    })
    self.assertEqual(activity.platforms_to_build(), {macos1})
    self.assertEqual(activity.should_run(), True)
    self.assertEqual(
      activity.task_env(),
      {'SKIP_PUBLISH': '1', 'PLATFORM': Config.macos_versions[macos1]}
    )