def test_create_eventhub_producer_policies_secrets(self, victim):
        policies = [EventHubProducerPolicy('entity1', False), EventHubProducerPolicy('entity2', False)]

        victim.create_eventhub_producer_policies(policies)

        assert Context().get(ContextKey.EVENTHUB_PRODUCER_POLICY_SECRETS) == [Secret('entity1-connection-string', 'potato-connection'),
                                                                              Secret('entity2-connection-string', 'potato-connection')]
    def test_create_eventhub_producer_policies(self, producer_policy_fun, victim):
        policies = [
            EventHubProducerPolicy('entity1', False),
            EventHubProducerPolicy('entity2', True)
        ]

        victim.create_eventhub_producer_policies(policies)

        calls = [mock.call(policies[0], 'rgdev', 'eventhubdev', 'my_little_pony'),
                 mock.call(policies[1], 'rgdev', 'eventhubdev', 'my_little_pony')]

        producer_policy_fun.assert_has_calls(calls)
    def test_create_producer_policy_with_databricks(self, victim):
        policy = EventHubProducerPolicy('my-entity', True)

        with mock.patch('takeoff.azure.configure_eventhub.ConfigureEventHub.create_databricks_secrets') as databricks_call:
            victim._create_producer_policy(policy=policy,
                                           resource_group='my-group',
                                           eventhub_namespace='my-namespace',
                                           application_name='my-name'
                                           )

        victim.eventhub_client.event_hubs.create_or_update_authorization_rule.assert_called_with(
            authorization_rule_name='my-name-send-policy',
            event_hub_name='my-entity',
            namespace_name='my-namespace',
            resource_group_name='my-group',
            rights=[AccessRights.send]
        )
        victim.eventhub_client.event_hubs.list_keys.assert_called_with(
            authorization_rule_name='my-name-send-policy',
            event_hub_name='my-entity',
            namespace_name='my-namespace',
            resource_group_name='my-group',
        )

        databricks_call.assert_called_once()