public function methodProvider()
{
$value = 'value';
$pageSizeSetting = ['pageSize' => 3];
$messageData = '123';
$attributeKey = 'testing';
$attributeValue = '123';
$pbMessage = new PubsubMessage();
$pbMessage->setData('123');
$pbMessageAttribute = new MessageAttributesEntry();
$pbMessageAttribute->setKey($attributeKey);
$pbMessageAttribute->setValue($attributeValue);
$pbMessage->addAttributes($pbMessageAttribute);
$bindingRole = 'test_role';
$bindingMember = 'test_member';
$pbPolicy = new Policy();
$pbBinding = new Binding();
$pbBinding->setRole($bindingRole);
$pbBinding->addMembers($bindingMember);
$pbPolicy->addBindings($pbBinding);
$permissions = ['fake' => 'permissions'];
$pbPushConfig = new PushConfig();
$pushEndpoint = 'http://www.example.com';
$pbPushConfig->setPushEndpoint($pushEndpoint);
$pbPushAttribute = new PushConfigAttributesEntry();
$pbPushAttribute->setKey($attributeKey);
$pbPushAttribute->setValue($attributeValue);
$pbPushConfig->addAttributes($pbPushAttribute);
$ackIds = ['1', '2', '3'];
$maxMessages = 100;
$ackDeadlineSeconds = 1;
return [['createTopic', ['name' => $value], [$value, []]], ['getTopic', ['topic' => $value], [$value, []]], ['deleteTopic', ['topic' => $value], [$value, []]], ['listTopics', ['project' => $value], [$value, []]], ['publishMessage', ['topic' => $value, 'messages' => [['data' => $messageData, 'attributes' => [$attributeKey => $attributeValue]]]], [$value, [$pbMessage], []]], ['listSubscriptionsByTopic', ['topic' => $value] + $pageSizeSetting, [$value, $pageSizeSetting]], ['getTopicIamPolicy', ['resource' => $value], [$value, []]], ['setTopicIamPolicy', ['resource' => $value, 'policy' => ['bindings' => [['role' => $bindingRole, 'members' => [$bindingMember]]]]], [$value, $pbPolicy, []]], ['testTopicIamPermissions', ['resource' => $value, 'permissions' => $permissions], [$value, $permissions, []]], ['createSubscription', ['name' => $value, 'topic' => strtoupper($value), 'pushConfig' => ['pushEndpoint' => $pushEndpoint, 'attributes' => [$attributeKey => $attributeValue]]], [$value, strtoupper($value), ['pushConfig' => $pbPushConfig]]], ['getSubscription', ['subscription' => $value], [$value, []]], ['listSubscriptions', ['project' => $value] + $pageSizeSetting, [$value, $pageSizeSetting]], ['deleteSubscription', ['subscription' => $value], [$value, []]], ['modifyPushConfig', ['subscription' => $value, 'pushConfig' => ['pushEndpoint' => $pushEndpoint, 'attributes' => [$attributeKey => $attributeValue]]], [$value, $pbPushConfig, []]], ['pull', ['subscription' => $value, 'maxMessages' => $maxMessages] + $pageSizeSetting, [$value, $maxMessages, $pageSizeSetting]], ['modifyAckDeadline', ['subscription' => $value, 'ackIds' => $ackIds, 'ackDeadlineSeconds' => $ackDeadlineSeconds], [$value, $ackIds, $ackDeadlineSeconds, []]], ['acknowledge', ['subscription' => $value, 'ackIds' => $ackIds], [$value, $ackIds, []]], ['getSubscriptionIamPolicy', ['resource' => $value], [$value, []]], ['setSubscriptionIamPolicy', ['resource' => $value, 'policy' => ['bindings' => [['role' => $bindingRole, 'members' => [$bindingMember]]]]], [$value, $pbPolicy, []]], ['testSubscriptionIamPermissions', ['resource' => $value, 'permissions' => $permissions], [$value, $permissions, []]]];
}