Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mock APNS Server as a separate maven artifact #494

Closed
saumitrabhave opened this issue Jul 13, 2017 · 3 comments
Closed

Mock APNS Server as a separate maven artifact #494

saumitrabhave opened this issue Jul 13, 2017 · 3 comments

Comments

@saumitrabhave
Copy link

Guys, great job writing this awesome library...

Not sure if this has been discussed previously, but it would be really great if the MockAPNS server can be released as a separate maven artifact,

  1. It might reduce some classes from the runtime.
  2. It will be helpful for people using some other ways/technologies to send APNS pushes, but still want to use pushy's MockServer in their integration tests.
    Thanks
@jchambers
Copy link
Owner

Even though I didn't explicitly call it out, this will definitely happen as part of #459. Thanks for the suggestion!

@jchambers jchambers added this to the v0.12 milestone Jul 13, 2017
@jchambers jchambers changed the title Mock APNS Server as a saperate maven artifact Mock APNS Server as a saparate maven artifact Sep 16, 2017
@jchambers jchambers changed the title Mock APNS Server as a saparate maven artifact Mock APNS Server as a separate maven artifact Sep 16, 2017
@jchambers
Copy link
Owner

Now that we've dug into this a bit, I think I have a clearer picture of our options.

ApnsClient very much depends on the mock server for tests. To avoid a circular dependency, that means that the server module could not depend on the client module. Because we're publicizing more of the mock server, there are an increasing number of classes shared between the client and server, particularly related to keys and authentication tokens.

I think the only way forward would be to create something like a pushy-common module, but I'm not sure if the added complexity justifies the benefits. Having a few extra classes around isn't the end of the world, and having the client in the same module definitely shouldn't block people from using the server.

I'll think on it, but there are costs either way.

@jchambers
Copy link
Owner

I think we're going to have to defer on this for now; the main motivation for moving the mock server into its own module is developer convenience, but it turns out that's also where most of the costs lie. Let's keep looking for opportunities to make this happen, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants