php-apple-signin icon indicating copy to clipboard operation
php-apple-signin copied to clipboard

Add unit tests, static methods to instance methods, interface for HTTP client

Open philipmuir opened this issue 4 years ago • 0 comments

Let me know if you like the direction I have taken here or not, and if you want to work to get changes merge back into this repo :)

What ?

  • Change most static methods to instance methods

  • Introduce an interface for HTTP client (It may be better to use the HTTP Message interfaces from PSR-7 here now that I write this).

  • Add (some) unit and integration tests.

Includes changes from #16

Why ?

  • Implement a caching HTTP client to store the public key response from apple for some time in redis. Static method calls to the Curl implementation or file_get_contents makes this challenging. I can contribute this back to the repo, I intend to use Guzzle and a Guzzle Caching middle-ware.

  • Write unit and integration tests for the library.

  • Use the library as a dependency instead as static method calls, and mock it out in calling code tests. I could write a wrapper around the library to achieve this, but that would not allow caching the Apple cert HTTP call.

philipmuir avatar Jun 16 '20 23:06 philipmuir