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

split the gem? #22

Open
mcmoyer opened this issue Oct 4, 2017 · 11 comments
Open

split the gem? #22

mcmoyer opened this issue Oct 4, 2017 · 11 comments

Comments

@mcmoyer
Copy link
Contributor

mcmoyer commented Oct 4, 2017

I’ve been communicating with Appnexus about a test system with permissions for both buyer and seller sides. It does not look like this will be available.

That said, there’s now code in the test suite that is specific to the seller side that I’m unable to test fully on my end. I’m wondering if we should look into splitting this gem into two..one for the buyer side, one for the seller side?

Thoughts?

@apurvis @joshuawscott

@apurvis
Copy link
Contributor

apurvis commented Oct 4, 2017

i would tend to think that's a bad idea... there's so much common code that is so important just in terms of sending the right HTTP requests, authorizations, etc...

the real answer is to just get incredibly solid VCR specs in the repo. i added specs for almost everything i touched, but i'm sure there's a few holes here and there.

@joshuawscott
Copy link
Member

It should be possible to have a common gem that wraps up the HTTP request and authorization stuff. I think it would be a lot smoother if there were a buyer and seller side gem, then you wouldn't have to bug us to get changes made that we are unable to really test (I get that VCR testing gets around this, but we still are unable to verify that it works, or work on fixing anything that might come up in the seller-side code)

@apurvis
Copy link
Contributor

apurvis commented Oct 4, 2017

well, FWIW i am leaving my engagement at the place i updated the gem for on friday, so there won't be any more changes coming from me. i'm also pretty happy with where the gem is right now.

in general i feel you on why it would be nice, and if the scope of the project were larger i would endorse that approach. but this is just a simple wrapper for some REST API calls - do you really want to be managing 3 separate libraries (core, seller side, buyer side) for that? it's a lot of overhead for very minor return IMHO.

@apurvis
Copy link
Contributor

apurvis commented Oct 4, 2017

also i think a lot of the seller side stuff did not come from me - it's code added by other people over the years. i am very surprised that our account has seller side access, given that we are not a seller.

@joshuawscott
Copy link
Member

I think that's a fair point, unless @mcmoyer really wants to do the work of splitting it up 😜

@infinite-monkeys
Copy link

infinite-monkeys commented Oct 4, 2017

I’ve been communicating with Appnexus about a test system with permissions for both buyer and seller sides. It does not look like this will be available.

I'm not surprised... given that they have now consolidated to one, and synchronize production data to it, it'll probably be hard to get access to that. But you could ask about the older (unsupported, afaik, but it appears to have been updated to v1.17) sand.api.appnexus.com.

By the way, is there any specs that still need recording? I'll probably be taking a look at the version we're using to make sure we're still compatible with v1.18 so I might be able to record some things.

@mcmoyer
Copy link
Contributor Author

mcmoyer commented Oct 4, 2017

the sand.api.appnexus.com is what we used to use to test against, but it does seem that some of the tests are no longer working against that.

Something I didn’t mention in the first post was that our testing endpoint is api-test.adnxs.com, whereas you guys are using api-test.appnexus.com — one more thing to work around

@apurvis
Copy link
Contributor

apurvis commented Oct 5, 2017

re: breaking changes coming - see: #23

@infinite-monkeys
Copy link

There was also a api-console.client-testing.adnxs.net before ...

per https://wiki.appnexus.com/display/api/Client+Testing+Environment , api-test.adnxs.com is for the ImpBus API, whereas api-test.appnexus.com is for the Console API

@mcmoyer
Copy link
Contributor Author

mcmoyer commented Oct 26, 2017

just to keep you guys in the loop. I’m working on the updates for the v1.18 changes. I started with the creative service specs as thats our main service we use. The way the specs are running right now, it fails. The current specs reference the Advertiser service which we don’t have access to.

My feeling with VCR specs is that they should always be runnable…and that they should periodically be deleted and refreshed.

Maybe this could be solved by having ImpBus specs and Console API specs?

@mcmoyer
Copy link
Contributor Author

mcmoyer commented Oct 26, 2017

Also realizing that the endpoints aren’t a one for one analogue

Viewing a creative on ImpBus
https://api.adnxs.com/creative/MEMBER_ID/CREATIVE_ID

Viewing a creative on Console API
https://api.appnexus.com/creative?id=CREATIVE_ID

@slpsys slpsys mentioned this issue Nov 23, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants