pub struct StubRouter {
settings: StubSettings,
server_settings: StubServerSettings,
clients: HashMap<String, StubClient>,
}Expand description
##Stub router
This will create a testing router who’s behavior is determined
by the messages that it handles. This router can be used for
local development and testing. The Stub router can be controlled
by specifying the action in the app_id of the subscription URL.
The success app_id is always defined.
for example, using a subscription registration URL of
/v1/stub/success/registration with the request body of
"{\"token\":\"success\", \"key\":"..."}" will return a successful
registration endpoint that uses the provided VAPID key. Calling that endpoint
with a VAPID signed request will succeed.
Likewise, using a subscription registration URL of
/v1/stub/error/registration with the request body of
"{\"token\":\"General Error\", \"key\":"..."}" will return that error
when the subscription endpoint is called.
Fields§
§settings: StubSettings§server_settings: StubServerSettings§clients: HashMap<String, StubClient>A map from application ID to an authenticated FCM client
Implementations§
Source§impl StubRouter
impl StubRouter
Sourcepub fn new(settings: StubSettings) -> Result<Self, StubError>
pub fn new(settings: StubSettings) -> Result<Self, StubError>
Create a new StubRouter
Sourcefn create_clients(
server_settings: &StubServerSettings,
) -> HashMap<String, StubClient>
fn create_clients( server_settings: &StubServerSettings, ) -> HashMap<String, StubClient>
Create Test clients for each application. Tests can specify which client
to use by designating the value in the app_id of the subscription URL.
While the success client is always defined, the error client can take on
different error results based on the server configuration. See StubServerSettings
for details.
Trait Implementations§
Source§impl Router for StubRouter
impl Router for StubRouter
Source§fn register(
&self,
router_data_input: &RouterDataInput,
app_id: &str,
) -> Result<HashMap<String, Value>, RouterError>
fn register( &self, router_data_input: &RouterDataInput, app_id: &str, ) -> Result<HashMap<String, Value>, RouterError>
router_data field.