### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

if a Fifo queue is created withotu deduplication  configuration such as `MessageDeduplicationId` or `ContentBasedDeduplication`

Sending a batch of message to such queue will silently fail (with http code 200)

### Expected Behavior

it should fail with error

`InvalidParameterValue: The Queue should either have ContentBasedDeduplication enabled or MessageDeduplicationId provided explicitly `

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    `docker run -p 127.0.0.1:4566:4566/tcp --network=host localstack/localstack:latest`

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

```js
const { SQSClient, SendMessageCommand, ReceiveMessageCommand, CreateQueueCommand, SendMessageBatchCommand }  = require('@aws-sdk/client-sqs')

const credentials = {
  accessKeyId: 'test',
  secretAccessKey: 'test',
};

const connection = {
  region: 'us-east-1',
  accountId: '000000000000',
  endpoint: 'http://localhost:4566',
};

const queueName = 'test-queue6.fifo';

async function main() {
  const sqsClient = new SQSClient({
    ...connection,
    credentials,
  });

  const { QueueUrl } = await sqsClient.send(new CreateQueueCommand({
    QueueName: queueName,
    Attributes: {
      FifoQueue: 'true',
      //ContentBasedDeduplication: 'true',
    }
  }));

  await sqsClient.send(new SendMessageBatchCommand({
    QueueUrl,
    Entries: [{
      Id: '1',
      MessageBody: 'test4',
      MessageGroupId: 'test-group'
    }]
  }));


  const { Messages } = await sqsClient.send(new ReceiveMessageCommand({
    QueueUrl
  }));

  return Messages
}

main().then((r) => console.log(r)).catch((e) => console.error(e));
```

### Environment

```markdown
- OS: Osx
- LocalStack:
```


### Anything else?

Use the lastest version on AWS SDK (!)
"""Once a message becomes visible in a FIFO queue, its message group also becomes visible."""
        message_group = self.get_message_group(message.message_group_id)
        with self.mutex:
            # pu
            message_group.push(message)
            # if 
            if message_group in self.inflight_groups:
                self.inflight_groups.remove(message_group)
                self.message_group_queue.put_nowait(message_group)
    def receive(
        self,
        num_messages: int = 1,
        wait_time_seconds: int = None,
        visibility_timeout: int = None,
    ) -> ReceiveMessageResult:
        """
        Receive logic for FIFO queues is different from standard queues. See
        https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues-understanding-logic.html.
        When receiving messages from a FIFO queue with multiple message group IDs, SQS first attempts to
        return as many messages with the same message group ID as possible. This allows other consumers to
        process messages with a different message group ID. When you receive a message with a message group
        ID, no more messages for the same message group ID are returned unless you delete the message, or it
        becomes visible.
        """
        result = ReceiveMessageResult()
        max_receive_count = self.max_receive_count
        visibility_timeout = (
            self.visibility_timeout if visibility_timeout is None else visibility_timeout