chore: update tested mastodon to v3.1.3 (#1760)

* chore: update tested mastodon to v3.1.3

* fix tests

* fixup

* fix test
This commit is contained in:
Nolan Lawson 2020-05-02 18:02:29 -07:00 committed by GitHub
parent 4fe7a818ab
commit 00b9b1c216
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 1002 additions and 252 deletions

View file

@ -121,11 +121,12 @@ or
1. Run `rm -fr mastodon` to clear out all Mastodon data 1. Run `rm -fr mastodon` to clear out all Mastodon data
1. Comment out `await restoreMastodonData()` in `run-mastodon.js` to avoid actually populating the database with statuses/favorites/etc. 1. Comment out `await restoreMastodonData()` in `run-mastodon.js` to avoid actually populating the database with statuses/favorites/etc.
2. Update the `GIT_TAG_OR_BRANCH` in `run-mastodon.js` to whatever you want 2. Update the `GIT_TAG_OR_BRANCH` in `run-mastodon.js` to whatever you want
3. Run `yarn run run-mastodon` 3. If the Ruby version changed, install it and update `setup-mastodon-in.travis.sh`
4. Run `yarn run backup-mastodon-data` to overwrite the data in `fixtures/` 4. Run `yarn run-mastodon`
5. Uncomment `await restoreMastodonData()` in `run-mastodon.js` 5. Run `yarn backup-mastodon-data` to overwrite the data in `fixtures/`
6. Commit all changed files 6. Uncomment `await restoreMastodonData()` in `run-mastodon.js`
7. Run `rm -fr mastodon/` and `yarn run run-mastodon` to confirm everything's working 7. Commit all changed files
8. Run `rm -fr mastodon/` and `yarn run run-mastodon` to confirm everything's working
Check `mastodon.log` if you have any issues. Check `mastodon.log` if you have any issues.

View file

@ -12,9 +12,9 @@ const stat = promisify(fs.stat)
const writeFile = promisify(fs.writeFile) const writeFile = promisify(fs.writeFile)
const dir = __dirname const dir = __dirname
const GIT_URL = 'https://github.com/nolanlawson/mastodon.git' const GIT_URL = 'https://github.com/tootsuite/mastodon.git'
const GIT_TAG_OR_COMMIT = '824ddcdbe' const GIT_TAG_OR_COMMIT = 'v3.1.3'
const GIT_BRANCH = 'v2.9.2-with-fuubar-fix' const GIT_BRANCH = 'master'
const DB_NAME = 'pinafore_development' const DB_NAME = 'pinafore_development'
const DB_USER = 'pinafore' const DB_USER = 'pinafore'

View file

@ -8,8 +8,8 @@ fi
# install ruby # install ruby
source "$HOME/.rvm/scripts/rvm" source "$HOME/.rvm/scripts/rvm"
rvm install 2.6.1 rvm install 2.6.6
rvm use 2.6.1 rvm use 2.6.6
# check versions # check versions
ruby --version ruby --version

1209
tests/fixtures/dump.sql vendored

File diff suppressed because it is too large Load diff

Binary file not shown.

View file

@ -23,10 +23,10 @@ test('converts external links in statuses', async t => {
.expect(getAnchor(0, 1).getAttribute('href')).eql('/accounts/3') .expect(getAnchor(0, 1).getAttribute('href')).eql('/accounts/3')
.expect(getAnchor(1, 0).getAttribute('href')).eql('https://joinmastodon.org') .expect(getAnchor(1, 0).getAttribute('href')).eql('https://joinmastodon.org')
.expect(getAnchor(1, 0).getAttribute('title')).eql('https://joinmastodon.org') .expect(getAnchor(1, 0).getAttribute('title')).eql('https://joinmastodon.org')
.expect(getAnchor(1, 0).getAttribute('rel')).eql('nofollow noopener') .expect(getAnchor(1, 0).getAttribute('rel')).contains('nofollow noopener')
.expect(getAnchor(1, 1).getAttribute('href')).eql('https://github.com/tootsuite/mastodon') .expect(getAnchor(1, 1).getAttribute('href')).eql('https://github.com/tootsuite/mastodon')
.expect(getAnchor(1, 1).getAttribute('title')).eql('https://github.com/tootsuite/mastodon') .expect(getAnchor(1, 1).getAttribute('title')).eql('https://github.com/tootsuite/mastodon')
.expect(getAnchor(1, 1).getAttribute('rel')).eql('nofollow noopener') .expect(getAnchor(1, 1).getAttribute('rel')).contains('nofollow noopener')
.expect(getAnchor(2, 0).getAttribute('href')).eql('/tags/kitten') .expect(getAnchor(2, 0).getAttribute('href')).eql('/tags/kitten')
.expect(getAnchor(2, 1).getAttribute('href')).eql('/tags/kitties') .expect(getAnchor(2, 1).getAttribute('href')).eql('/tags/kitties')
}) })
@ -39,9 +39,9 @@ test('converts external links in profiles', async t => {
.expect(getUrl()).contains('/accounts/4') .expect(getUrl()).contains('/accounts/4')
.expect($('.account-profile-name').innerText).contains('External Lonk') .expect($('.account-profile-name').innerText).contains('External Lonk')
.expect($('.account-profile-name a').getAttribute('href')).eql('http://localhost:3000/@ExternalLinks') .expect($('.account-profile-name a').getAttribute('href')).eql('http://localhost:3000/@ExternalLinks')
.expect($('.account-profile-name a').getAttribute('rel')).eql('nofollow noopener') .expect($('.account-profile-name a').getAttribute('rel')).contains('nofollow noopener')
.expect(getAnchorInProfile(0).getAttribute('href')).eql('https://joinmastodon.org') .expect(getAnchorInProfile(0).getAttribute('href')).eql('https://joinmastodon.org')
.expect(getAnchorInProfile(0).getAttribute('rel')).eql('nofollow noopener') .expect(getAnchorInProfile(0).getAttribute('rel')).contains('nofollow noopener')
.expect(getAnchorInProfile(1).getAttribute('href')).eql('http://localhost:3000/tags/cat') .expect(getAnchorInProfile(1).getAttribute('href')).eql('http://localhost:3000/tags/cat')
.expect(getAnchorInProfile(2).getAttribute('href')).eql('http://localhost:3000/tags/mastocats') .expect(getAnchorInProfile(2).getAttribute('href')).eql('http://localhost:3000/tags/mastocats')
.expect(getAnchorInProfile(3).getAttribute('href')).eql('http://localhost:3000/@quux') .expect(getAnchorInProfile(3).getAttribute('href')).eql('http://localhost:3000/@quux')

View file

@ -37,22 +37,22 @@ test('External links, hashtags, and mentions have correct attributes', async t =
.expect(nthAnchor(3).getAttribute('href')).eql('/tags/tag') .expect(nthAnchor(3).getAttribute('href')).eql('/tags/tag')
.expect(nthAnchor(3).hasAttribute('rel')).notOk() .expect(nthAnchor(3).hasAttribute('rel')).notOk()
.expect(nthAnchor(3).hasAttribute('target')).notOk() .expect(nthAnchor(3).hasAttribute('target')).notOk()
.expect(nthAnchor(4).getAttribute('href')).eql('/tags/anothertag') .expect(nthAnchor(4).getAttribute('href')).eql('/tags/anotherTag')
.expect(nthAnchor(4).hasAttribute('rel')).notOk() .expect(nthAnchor(4).hasAttribute('rel')).notOk()
.expect(nthAnchor(4).hasAttribute('target')).notOk() .expect(nthAnchor(4).hasAttribute('target')).notOk()
.expect(nthAnchor(5).getAttribute('href')).eql('/tags/yetanothertag') .expect(nthAnchor(5).getAttribute('href')).eql('/tags/yetAnotherTag')
.expect(nthAnchor(5).hasAttribute('rel')).notOk() .expect(nthAnchor(5).hasAttribute('rel')).notOk()
.expect(nthAnchor(5).hasAttribute('target')).notOk() .expect(nthAnchor(5).hasAttribute('target')).notOk()
.expect(nthAnchor(6).getAttribute('href')).eql('http://example.com') .expect(nthAnchor(6).getAttribute('href')).eql('http://example.com')
.expect(nthAnchor(6).getAttribute('rel')).eql('nofollow noopener') .expect(nthAnchor(6).getAttribute('rel')).contains('nofollow noopener')
.expect(nthAnchor(6).getAttribute('title')).eql('http://example.com') .expect(nthAnchor(6).getAttribute('title')).eql('http://example.com')
.expect(nthAnchor(6).getAttribute('target')).eql('_blank') .expect(nthAnchor(6).getAttribute('target')).eql('_blank')
.expect(nthAnchor(7).getAttribute('href')).eql('https://joinmastodon.org') .expect(nthAnchor(7).getAttribute('href')).eql('https://joinmastodon.org')
.expect(nthAnchor(7).getAttribute('rel')).eql('nofollow noopener') .expect(nthAnchor(7).getAttribute('rel')).contains('nofollow noopener')
.expect(nthAnchor(7).getAttribute('title')).eql('https://joinmastodon.org') .expect(nthAnchor(7).getAttribute('title')).eql('https://joinmastodon.org')
.expect(nthAnchor(7).getAttribute('target')).eql('_blank') .expect(nthAnchor(7).getAttribute('target')).eql('_blank')
.expect(nthAnchor(8).getAttribute('href')).eql('https://mastodon.social') .expect(nthAnchor(8).getAttribute('href')).eql('https://mastodon.social')
.expect(nthAnchor(8).getAttribute('rel')).eql('nofollow noopener') .expect(nthAnchor(8).getAttribute('rel')).contains('nofollow noopener')
.expect(nthAnchor(8).getAttribute('title')).eql('https://mastodon.social') .expect(nthAnchor(8).getAttribute('title')).eql('https://mastodon.social')
.expect(nthAnchor(8).getAttribute('target')).eql('_blank') .expect(nthAnchor(8).getAttribute('target')).eql('_blank')
}) })

View file

@ -17,14 +17,12 @@ test('autosuggests hashtags', async t => {
.hover(composeInput) .hover(composeInput)
await sleep(1000) await sleep(1000)
await t await t
.typeText(composeInput, 'hey #bl') .typeText(composeInput, 'hey #blank')
.expect(getNthAutosuggestionResult(1).innerText).contains('blank', { timeout }) .expect(getNthAutosuggestionResult(1).innerText).contains('blank', { timeout })
.expect(getNthAutosuggestionResult(2).innerText).contains('blanka', { timeout })
.expect(getNthAutosuggestionResult(1).find('.sr-only').innerText).contains('#blank', { timeout }) .expect(getNthAutosuggestionResult(1).find('.sr-only').innerText).contains('#blank', { timeout })
.expect(getNthAutosuggestionResult(2).find('.sr-only').innerText).contains('#blanka', { timeout })
.click(getNthAutosuggestionResult(1), { timeout }) .click(getNthAutosuggestionResult(1), { timeout })
.expect(composeInput.value).eql('hey #blank ') .expect(composeInput.value).eql('hey #blank ')
.typeText(composeInput, 'and also #BL') .typeText(composeInput, 'and also #BLANK')
.click(getNthAutosuggestionResult(1), { timeout }) .click(getNthAutosuggestionResult(1), { timeout })
.expect(composeInput.value).eql('hey #blank and also #blank ') .expect(composeInput.value).eql('hey #blank and also #blank ')
.typeText(composeInput, 'and also #blanka') .typeText(composeInput, 'and also #blanka')