@'. */ private static function generateUsername(string $domain): string { $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < 16; $i++) { $randomString .= $characters[rand(0, $charactersLength - 1)]; } return 'user' . $randomString . '@' . $domain; } public function testConnection() :void { $coffeeClient = new SocialClient(self::generateUsername('intvo.id')); // Check initial session state $this->assertFalse($coffeeClient->getSessionState()->isAuthenticated()); $this->assertTrue($coffeeClient->getSessionState()->containsFlag(SessionFlags::REGISTRATION_REQUIRED)); $this->assertTrue($coffeeClient->getSessionState()->containsFlag(SessionFlags::SET_PASSWORD)); $this->assertTrue($coffeeClient->getSessionState()->containsFlag(SessionFlags::SET_DISPLAY_NAME)); // Check progressive session state $this->assertTrue($coffeeClient->settingsSetPassword('coffeePassword')); $this->assertFalse($coffeeClient->getSessionState()->containsFlag(SessionFlags::SET_PASSWORD)); $this->assertTrue($coffeeClient->settingsSetDisplayName('Coffee User')); $this->assertFalse($coffeeClient->getSessionState()->containsFlag(SessionFlags::SET_DISPLAY_NAME)); $this->assertFalse($coffeeClient->getSessionState()->containsFlag(SessionFlags::REGISTRATION_REQUIRED)); $this->assertTrue($coffeeClient->getSessionState()->isAuthenticated()); } }