There are a few possibilities for this.
Reading your post, I wonder if you copied the contents of test-user-pk.pem to the ~ssh/authorized_keys. If you did this then that is the problem. That file is the PRIVATE key - the public key would be found in test-user-pk.pem.pub This is easy enough to verify because the format of the private key is quite different to the public key, and starts with -----BEGIN OPENSSH PRIVATE KEY------ spanning multiple lines - rather then a single long line with 3 fields, probably starting "ssh-rsa", and ending with a username@hostname - with the public key in the middle.
Otherwise -
In general, try to ssh in as the user with the "-v" flag passed to SSH to log what the client is seeing, and also look in the server log file while you are doing this.
You could take this a step further by launching a second instance of sshd on the server on an alternative port and not detach it, and see what happens when the connection is attempted.
Some specific possibilities to look at -
Is SeLinux breaking the instance (ie file permissions or similar). I have seen this before and it is a pain. The audit.log file would indicate if this is the case, and if it seems to be the case, temporarily disabling selinux might help rule this problem out. (I've seen this before, but not on Ubuntu boxes)
I there something in /etc/ssh/sshd_conf preventing the negotiation - eg an AllowUsers list.
Could it be a permissions problem with the users home directory?
Could it be something silly, like you landed up adding the key.