Hacker News new | ask | show | jobs
Gor — Test your system with real data (gortool.com)
74 points by sahil_videology 3703 days ago
10 comments

Thank you for submitting! Author here :)

Feel free to ask any questions. To add full context, based on the all positive feedback i decided to work on Gor full time https://medium.com/@buger/working-on-open-source-full-time-a...

Thank you! Ready to answer any questions.

If you want to keep in touch with Gor news and QA automation in general subscribe to our newsletter https://tinyletter.com/gor
This tool reminds me of Raymond Chen's (The Old New Thing) blog post "Microsoft corporate network: 1.7 times worse than hell". The network traffic on Microsoft's (1996) corporate network was 1.7 worse than Microsoft's Windows Hardware Quality Labs own network card stress tests. Network hardware that passed the stress tests would commonly fall over when it was plugged into the corporate network. :)

https://blogs.msdn.microsoft.com/oldnewthing/20050512-48/?p=...

I have used Gor lots of times before and when I got into Go it was one of the first source codes I looked at.

I love seeing open source projects developing a "Pro" version. I've been using Sidekiq Pro for a long time now and I know for sure it won't be as heavily maintained as it is without the Pro option.

As far as Gor goes, when you develop a new feature, it's a really powerful tool to pass some of the production traffic to staging to see how the new feature reacts with real world traffic. It's a sure way to find bugs you usually miss with testing.

Thank you! Mike Perham and Sidekiq in particual was main inspiration for me to start working on Gor full time and introduce Pro version.
Hmm, why is support for TLS only in the enterprise plan? It should be the default, shouldn't it?
Good point! Well, deciding which features go to OSS version or paid is tricky, and you will never make anyone happy. But i try to decide based on demand, the more specific feature is, the bigger chance it will be in Pro version.

Note that you can replay traffic to SSL endpoint, but SSL interception only in Pro. SL interception is tricky, and in most cases application provide SSL through proxy, so you can intercept origin with Gor.

Thank you!

I'm looking for a sort of reverse solution for 3rd party APIs where you record a response to a request and generate a server with the same API endpoints that'll replay it.
You probably talking about service virtualization. I have some plans to dig into this space, but later. For now check this https://en.wikipedia.org/wiki/Service_virtualization and http://hoverfly.io/ in particular.
I don't think it has much to do with virtualization, if I'm understanding correctly. You can think of it as the inverse of what your replay tool does. If you think of a service that does transformations on data:

Req --> Service --> Rep

Your replay service is a synthetic Req. I think the parent is proposing synthetic Rep. This can be useful in many scenarios where you effectively want to mock a downstream service.

The industry buzzword for this is 'service virtualization' as mentioned above.
isn't that some kind of porno thing
Oh yes it is. A planet of bad writing and wish-fulfillment misogyny. https://en.wikipedia.org/wiki/Gor

TESTING FRAMEWORK OF GOR!

Author here :)

I'll be frank it's hard to choose name and not to offend anyone. This porno thing at least fun :)

Project is more then 3 years old, not sure if its even possible to change name and not dramatically affect SEO. But who knows I may consider it.

haha, well, it's a very cool project and I'm going through your github repo right now. just an unfortunate name collision.
http://ansible.uk/sfx/sfx039.html

'She looked on him. Never before in her life had she seen such a male. He made even Gunther seem a lesser man. Her imagination had not even dreamed that such a man could exist. The men she had known earlier, even Gunther, had been no intimation that there might be males such as these. Such men, she thought, could not exist in her time. In her time there was no place; there could be no place, for such men as these.'

hahaha. This is why you google names before you pick them.

The system cringed as its owner brought forth the open-source tool. "I am a production server!" it cried indignantly. "How dare you test me before my time! Guards!" it called. "Guards!"

Admin installed the open-source tool and looked at it. "You will be tested," he said.

"You do not dare to test me!" laughed the system.

"You will be tested," said Admin.

"Do not test me!" wept the system.

"You will be tested," said Admin.

I watched this exchange. Truly, I believed the system would be tested. It was a system, and on Gor it had no rights. Perhaps on Earth, in its permissive society, which distorts the true roles of all beings, which forces both system and operator to go unhappy and constrained, which forbids the fulfillment of owner and server, such might not happen. Perhaps there, it would not be tested. But it was on Gor now, and would undoubtedly feel its true place, that of server. It was a system. It would be tested at will. Such is the way with computer systems.

With apologies and credit to the hilarious Houseplants of Gor: http://www.rdrop.com/~wyvern/data/houseplants.html

Great tool - we used gor on our team recently to test a rewritten legacy API with captures of real production data. It was invaluable for exposing edge cases in the requests that we hadn't considered.
Thank you! May I wonder which company you represent?
Thank you! I think one of the major differences here is that Gor is not not a proxy, you do not have to put 3-rd party tool to your critical production path. Gor intercepts traffic and not affect your app - way more safe. Also betamax is more a tool for service virtualization, rather then for continuous regression testing, not talking about load testing. But it is still cool!

Thank you!

What does 4 hours of email support mean?
Well, it does not really depend if you doing support by mail or phone, you still spend developer time. For most of the cases 4 hours is more then enough, but for example if you app require complex middleware, and you want me to help write it, it may take longer then 4 hours. If so I can provide additional support on hourly basis.