now tests are green again
This commit is contained in:
parent
46f376e05e
commit
793214cea2
4 changed files with 44 additions and 18 deletions
|
@ -6,11 +6,19 @@ services:
|
|||
environment:
|
||||
MYSQL_DATABASE: activitypub-test
|
||||
MYSQL_ROOT_PASSWORD: activitypub-test
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:3306"]
|
||||
interval: 5s
|
||||
timeout: 2s
|
||||
retries: 5
|
||||
|
||||
test-php:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
depends_on:
|
||||
test-db:
|
||||
condition: service_healthy
|
||||
links:
|
||||
- test-db
|
||||
volumes:
|
||||
|
|
|
@ -217,7 +217,7 @@ class Followers {
|
|||
$follower->from_meta( $meta );
|
||||
$follower->upsert();
|
||||
|
||||
add_post_meta( $follower->get_id(), 'user_id', $user_id );
|
||||
update_post_meta( $follower->get_id(), 'user_id', $user_id, $user_id );
|
||||
|
||||
wp_cache_delete( sprintf( self::CACHE_KEY_INBOXES, $user_id ), 'activitypub' );
|
||||
|
||||
|
@ -339,14 +339,13 @@ class Followers {
|
|||
/**
|
||||
* Get all Followers
|
||||
*
|
||||
* @param array $args The WP_Term_Query arguments.
|
||||
* @param array $args The WP_Query arguments.
|
||||
*
|
||||
* @return array The Term list of Followers.
|
||||
*/
|
||||
public static function get_all_followers( $user_id = null ) {
|
||||
$args = array(
|
||||
'author' => null,
|
||||
'nopaging' => true,
|
||||
'meta_query' => array(),
|
||||
);
|
||||
return self::get_followers( $user_id, null, null, $args );
|
||||
}
|
||||
|
@ -358,10 +357,10 @@ class Followers {
|
|||
*
|
||||
* @return int The number of Followers
|
||||
*/
|
||||
public static function count_followers( $user_id = null ) {
|
||||
public static function count_followers( $user_id ) {
|
||||
// todo: rethink this. Don't we already get a total_posts count out of WP_Query?
|
||||
// in the absence of that: caching.
|
||||
return count( self::get_all_followers( $user_id ) );
|
||||
return count( self::get_followers( $user_id ) );
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -406,11 +405,11 @@ class Followers {
|
|||
global $wpdb;
|
||||
$results = $wpdb->get_col(
|
||||
$wpdb->prepare(
|
||||
"SELECT DISTINCT meta_value FROM {$wpdb->posts}
|
||||
WHERE term_id IN (" . implode( ', ', array_fill( 0, count( $terms ), '%d' ) ) . ")
|
||||
"SELECT DISTINCT meta_value FROM {$wpdb->postmeta}
|
||||
WHERE post_id IN (" . implode( ', ', array_fill( 0, count( $posts ), '%d' ) ) . ")
|
||||
AND meta_key = 'shared_inbox'
|
||||
AND meta_value IS NOT NULL",
|
||||
$terms
|
||||
$posts
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -435,10 +434,11 @@ class Followers {
|
|||
'posts_per_page' => $number,
|
||||
'orderby' => 'modified',
|
||||
'order' => 'DESC',
|
||||
'date_query' => array(
|
||||
'post_status' => 'any', // 'any' includes 'trash
|
||||
'date_query' => array(
|
||||
array(
|
||||
'column' => 'post_modified_gmt',
|
||||
'before' => 604800,
|
||||
'before' => gmdate( 'Y-m-d', \time() - $older_than ),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
|
|
@ -367,10 +367,7 @@ class Follower {
|
|||
* @return void
|
||||
*/
|
||||
public function update() {
|
||||
if ( ! $this->updated_at ) {
|
||||
$this->updated_at = \time();
|
||||
}
|
||||
|
||||
$this->updated_at = \time();
|
||||
$this->save();
|
||||
}
|
||||
|
||||
|
@ -387,6 +384,7 @@ class Follower {
|
|||
'post_author' => 0,
|
||||
'post_type' => Followers::POST_TYPE,
|
||||
'post_content' => wp_json_encode( $this->meta ),
|
||||
'post_status' => 'publish',
|
||||
'post_modified' => gmdate( 'Y-m-d H:i:s', $this->updated_at ),
|
||||
'meta_input' => $this->get_post_meta_input(),
|
||||
);
|
||||
|
|
|
@ -65,7 +65,7 @@ class Test_Db_Activitypub_Followers extends WP_UnitTestCase {
|
|||
$db_followers
|
||||
);
|
||||
|
||||
$this->assertSame( array( 'https://example.com/author/jon', 'https://example.org/author/doe', 'http://sally.example.org' ), $db_followers );
|
||||
$this->assertEquals( array( 'http://sally.example.org', 'https://example.org/author/doe', 'https://example.com/author/jon' ), $db_followers );
|
||||
}
|
||||
|
||||
public function test_add_follower() {
|
||||
|
@ -109,8 +109,28 @@ class Test_Db_Activitypub_Followers extends WP_UnitTestCase {
|
|||
|
||||
$follower = new \Activitypub\Model\Follower( 'https://example.com/author/jon' );
|
||||
|
||||
$follower->set_updates_at( \time() - 804800 );
|
||||
$follower->update();
|
||||
global $wpdb;
|
||||
|
||||
//eg. time one year ago..
|
||||
$time = time() - 804800;
|
||||
$mysql_time_format = 'Y-m-d H:i:s';
|
||||
|
||||
$post_modified = gmdate( $mysql_time_format, $time );
|
||||
$post_modified_gmt = gmdate( $mysql_time_format, ( $time + get_option( 'gmt_offset' ) * HOUR_IN_SECONDS ) );
|
||||
$post_id = $follower->get_id();
|
||||
|
||||
$wpdb->query(
|
||||
$wpdb->prepare(
|
||||
"UPDATE $wpdb->posts SET post_modified = %s, post_modified_gmt = %s WHERE ID = %s",
|
||||
array(
|
||||
$post_modified,
|
||||
$post_modified_gmt,
|
||||
$post_id,
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
clean_post_cache( $post_id );
|
||||
|
||||
$followers = \Activitypub\Collection\Followers::get_outdated_followers();
|
||||
$this->assertEquals( 1, count( $followers ) );
|
||||
|
|
Loading…
Reference in a new issue