Testing a Discourse API client on Travis-CI


(Sckott) #1

What’s the best or fastest way to get Discourse installed on Travis for testing a client for the Discourse API ?

It appears as though the discourse_api gem uses webmock so I think does not use a real Discourse installation.

It would be nice to install Discourse on Travis and test against it for my test suite. Any example travis files for that?


(Sam Saffron) #2

Can you explain what you are trying to do and why you need Discourse installed with a specific example of type of test you are trying to run?


(Sckott) #3

I have a R client for the Discourse API at GitHub - sckott/discgolf: Discourse API R client

My test suite currently uses a Discourse installation I maintain. I’d prefer to test against a Discourse installation setup each time Travis is run (or cached if possible on Travis).

I could test against stored JSON blobs - but I’d like to see if I can test against a running Discourse installation if possible, and not a real installation with real users - that’s why I want one installed for testing.

As far as examples, it’s the entire test suite I want to run, but here is an example testing against the /posts route discgolf/test-posts.R at master · sckott/discgolf · GitHub


(Sam Saffron) #4

Interesting, I guess this is a question of cost, ideally you just run a Digital Ocean droplet with Discourse, keep it up to date and test against that.

But that would cost you a minimum of 5-10 bucks a month. I am not sure how you would wrangle an install of Discourse into travis without incurring a massive upfront delay.


(Sckott) #5

Right, I’ll just stub out some json instead. Thanks for the help!