-import { ACTIVITY_PUB, JOB_REQUEST_TIMEOUT } from '../../initializers/constants'
+import { ACTIVITY_PUB, JOB_REQUEST_TIMEOUT, WEBSERVER } from '../../initializers/constants'
import { doRequest } from '../../helpers/requests'
import { logger } from '../../helpers/logger'
import * as Bluebird from 'bluebird'
import { ActivityPubOrderedCollection } from '../../../shared/models/activitypub'
+import { checkUrlsSameHost } from '../../helpers/activitypub'
+import { parse } from "url"
type HandlerFunction<T> = (items: T[]) => (Promise<any> | Bluebird<any>)
type CleanerFunction = (startedDate: Date) => (Promise<any> | Bluebird<any>)
let i = 0
let nextLink = firstBody.first
while (nextLink && i < limit) {
+ // Don't crawl ourselves
+ const remoteHost = parse(nextLink).host
+ if (remoteHost === WEBSERVER.HOST) continue
+
options.uri = nextLink
const { body } = await doRequest<ActivityPubOrderedCollection<T>>(options)
import 'mocha'
import {
addVideoToBlacklist,
+ cleanupTests,
createUser,
doubleFollow,
flushAndRunMultipleServers,
- flushTests,
+ follow,
+ getCustomConfig,
getMyUserInformation,
+ getVideoCommentThreads,
+ getVideoThreadComments,
immutableAssign,
registerUser,
removeVideoFromBlacklist,
reportVideoAbuse,
+ updateCustomConfig,
updateMyUser,
updateVideo,
updateVideoChannel,
userLogin,
- wait,
- getCustomConfig,
- updateCustomConfig, getVideoThreadComments, getVideoCommentThreads, follow, cleanupTests
+ wait
} from '../../../../shared/extra-utils'
-import { killallServers, ServerInfo, uploadVideo } from '../../../../shared/extra-utils/index'
+import { ServerInfo, uploadVideo } from '../../../../shared/extra-utils/index'
import { setAccessTokensToServers } from '../../../../shared/extra-utils/users/login'
import { waitJobs } from '../../../../shared/extra-utils/server/jobs'
import { getUserNotificationSocket } from '../../../../shared/extra-utils/socket/socket-io'
checkNewActorFollow,
checkNewBlacklistOnMyVideo,
checkNewCommentOnMyVideo,
+ checkNewInstanceFollower,
checkNewVideoAbuseForModerators,
- checkVideoAutoBlacklistForModerators,
checkNewVideoFromSubscription,
checkUserRegistered,
+ checkVideoAutoBlacklistForModerators,
checkVideoIsPublished,
getLastNotification,
getUserNotifications,
+ markAsReadAllNotifications,
markAsReadNotifications,
- updateMyNotificationSettings,
- markAsReadAllNotifications, checkNewInstanceFollower
+ updateMyNotificationSettings
} from '../../../../shared/extra-utils/users/user-notifications'
import {
User,
})
it('Should send a notification only to admin when there is a new instance follower', async function () {
- this.timeout(10000)
+ this.timeout(20000)
await follow(servers[2].url, [ servers[0].url ], servers[2].accessToken)