So I know that testing -site is still broken, and that's because we lack a fake web service to hit. I'm looking at https://github.com/typicode/json-server as a way to fix that.
Freso
Uhm.
Tests in -site shouldn't rely on a live -ws, it should be testable on its own.
You should mock some WS responses instead.
I don't know any mocking libraries for JavaScript though, so I can't guide you in the right direction, but relying on a live ws is not best practice.
Leftmost: ^
Leftmost
Freso, that's what I'm doing.
json-server and its ilk are mock web services.
Freso
Alright then.
Leftmost
Looks like json-server doesn't have the flexibility we need, but the idea is to create a simple, static web service which is run by the testing suite as needed.
bookzombie
[bookbrainz-site] leftmostcat pushed 1 new commit to master: http://git.io/pSde
bookbrainz-site/master 97c6619 Seán de Búrca: Don't silently fail and spin if we can't get updates
bookbrainz-site/master 4df3da2 Seán de Búrca: gulp before running mocha
bookbrainz-site/master e175679 Seán de Búrca: Ensure public/js/ exists in git
kepstin-laptop joined the channel
CatQuest joined the channel
LordSputnik joined the channel
LordSputnik
Hey guys
Leo_Verto
hey
Leftmost
Hey, how goes?
CatQuest joined the channel
LordSputnik
Good, I've fixed alembic, so I can get a proper set of schema migrations saved
Leftmost
Sweet.
Are we all here?
Or, dammit, did I fail to account for DST?
Leo_Verto
DST has started?
LordSputnik
Leftmost: yes you did, has it started for you?
Leftmost
It has.
I forgot about that when I put the meeting in my calendar, then forgot I had forgotten about it.
LordSputnik
Ahh, will an hour's time be too late for you?
Leftmost
Nope.
I have nothing scheduled for this evening except DS9, beer and hacking.
Apparently the best Star Trek series, though the only one I've never seen an episode of :(
Leftmost
I personally like TNG more, but that's partly a nostalgia thing, since the first two seasons are awful.
LordSputnik
Yeah, I'm stuck on episode 4 or something
original series I've seen about 20, but I still haven't got into it, and don't think I will
The episodes are all a bit
... old
Leftmost
I feel a need to get through TOS, but it's kind of a struggle.
I played around with json-server last night, but I'm afraid we'll have to write our own fake web service because it assumes too much about the structure of output.
LordSputnik
So something like an express server serving static content?
ohhh
Actually, I think we get a mock server with apiary.io, which I've started adding us to
Leftmost
LordSputnik, testing should be able to be independent of any of that.
As Freso said last night, we shouldn't depend on another service being up to run tests.
We should have an internal service which we can feed test data to and get a static response. It shouldn't be difficult to write, just annoying.
LordSputnik
And time consuming, when we get the apiary.io one for free
(if we document properly, that is)
Leftmost
Not that time-consuming, and as I said, we shouldn't rely on an outside service for testing.
The apiary.io one can be useful for making sure something you've just written is sane, but running `npm test' shouldn't touch any service we're not running ourselves.
LordSputnik
Ah, I didn't know you meant local testing
Leftmost
Oh, yeah. Sorry if I was unclear about that.
For just testing code you're writing, I don't care what any of us does as long as it works. :) I just meant for automated tests.
LordSputnik
On travis-ci?
Leftmost
Yeah, that sort of thing.
LordSputnik
eurghh
Committed a fix, then forgot to push it before regenerating the schema migration scripts
now I've reset and lost it :P
Leftmost
Ack.
bookzombie
bookbrainz-schema/master 46a7b92 Ben Ockmore: Fixed alembic env.py script to deal with bookbrainz and musicbrainz schemas.
LordSputnik will be back in 10-15 mins.... :/ It seems like whatever time we set the start of the meeting, I always have to miss it
Freso
Y'all should fire that slacker.
Tsk.
Leftmost
I don't even know who has firing power, so it's not easy.
Leo_Verto
I think we'd have to hire him ifrst
Freso
Shh, Leo.
Don't you come here and be talking all no sense like to me.
Leo_Verto
there's a fallout mod for EU4
Freso
EU4?
Leo_Verto
Europa Universalis
Grand strategy
Freso
Right.
Leo_Verto
got it during a sale two weeks ago, downloading right now
Sput|Away is here
Leftmost
Hurray!
LordSputnik
Leo_Verto: here? :)
Leo_Verto
yup
Leftmost
We ready to get this row on the showed?
LordSputnik
mhmm
Leftmost
So the first thing I had wanted to discuss was some set of criteria for a "go/no-go" when it comes to saying we'll start collecting data for real.
Basically, what we want to have place and what we don't need to have in place.
LordSputnik
Ok
Well, we need to have registration and login, for a start :P
Leftmost
Things I think we should have in place: somewhat stable code structure and deps, though this is a vague requirement. Things I don't think we need: guaranteed-stable schema, guaranteed-stable WS API, an absolute guarantee that we won't be wiping data.
Freso
I still think you should aim for an April 1st release.
FWIW, ruaok agrees.
Leftmost
Freso, I agree.
Freso
Leftmost: \o/
Leftmost
LordSputnik, so that folds into the HTTPS thing, plus some testing of the current auth code with that.
LordSputnik
I think we should guarantee preservation of data
No-one will want to contribute if their effort will be wasted
And I think we'll be in a position to do that on April 1st
Leftmost
Alright. If we want to do that, it puts somewhat a somewhat heavier testing burden on us. I'd say we should freeze before release in that case.
Leo_Verto
do we have issues for everything we need to get done by then?
LordSputnik
Leftmost: we could start dumping the database, so we have backups if anything is broken
I'd rather not have a freeze or limitation on development at this point in the project
Leftmost
LordSputnik, I think that's a good idea, but we also want to make sure that we don't have any serious schema issues.
LordSputnik
Good testing is definitely a +1 though
Leftmost
I don't think we do, but it's a good idea to shake it out and make sure.
LordSputnik
Leo_Verto: I think so, yes
Leftmost
I don't think it'd need to be a long freeze. Even just a couple days, and not a hard freeze either.
I'm just thinking a soft freeze of a few days where we can fix bugs and hammer the crap out of it.
Leo_Verto
I'm probably going to hold off less integration until the server-side stuff is sorted out
LordSputnik
The thing is, *when* do we freeze when we're continuously developing?
I'd understand if we had a formal release, and no other changes to bb.org until then, but we don't
Leftmost
LordSputnik, I'm not sure I follow the question.
Leo_Verto
Hmm, freeze the week before the grand opening?
that'd mean only 1 week left for features though
LordSputnik
Leftmost: do you mean just for 1st April, or for future releases too?
Leftmost
I'm just thinking that we take the 30th and 31st, maybe the 29th, to do no major structural changes and just test and fix bugs to make sure our data guarantee can hold.
LordSputnik
ah
Ok, then that seems like a good idea to me
Freso
Maybe someone call out for user testing in -devel (maillist and IRC both).
*?
LordSputnik
I thought you meant somehow regularly freeze development like MB does with beta/hot/cold weeks
Freso: good plan
Leo_Verto
yeah, we also need to populate the mailing lists
Leftmost
Oh. No, I don't think that's necessary yet. Just something so that we can be sure there's nothing seriously wrong before we institute a preservation guarantee.
LordSputnik
Ok
So, back to the milestone thing
We already have relationship support
And support for adding/removing entities
So long as the entity properties we have now won't go away, I don't think any schema issues will stop us from starting collecting data
Leftmost
To me, the most important entities to have in place would be Creator, Publication, Edition, and Publisher. That would cover most of the "basic" data you could give about any given book.
LordSputnik
Work?
Leftmost
We could make do with less, though, and I don't see anything there being a blocker.
Work is definitely important, but I'd place it second tier.
LordSputnik
Well, the only things stopping us having Edition and Publisher are forms and display on the site
Leftmost
Okay.
LordSputnik
They're present in the ws (although there may need to be some small tweaks)
Ok, so, freeze at 00:01, 2015-03-30?
Leftmost
LordSputnik, do you have some time after to chat about the schema? Nothing important, I just want to continue our series on Making Sure Leftmost Knows What the Hell He's Doing.