mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
mononoke: make test megarepo configs a bit more useful
Summary: Now it's at least possible to add new configs Reviewed By: mitrandir77 Differential Revision: D28444866 fbshipit-source-id: cf0e2e737a125bdbd3b7eff55e8ee3f1d5a193d2
This commit is contained in:
parent
27b248c075
commit
790cda7468
@ -5,20 +5,30 @@
|
||||
* GNU General Public License version 2.
|
||||
*/
|
||||
|
||||
use anyhow::anyhow;
|
||||
use async_trait::async_trait;
|
||||
use context::CoreContext;
|
||||
use megarepo_configs::types::{SyncConfigVersion, SyncTargetConfig, Target};
|
||||
use megarepo_error::MegarepoError;
|
||||
use slog::{info, Logger};
|
||||
use std::collections::HashMap;
|
||||
|
||||
use crate::MononokeMegarepoConfigs;
|
||||
|
||||
pub struct TestMononokeMegarepoConfigs;
|
||||
pub struct TestMononokeMegarepoConfigs {
|
||||
config_versions: HashMap<(Target, SyncConfigVersion), SyncTargetConfig>,
|
||||
}
|
||||
|
||||
impl TestMononokeMegarepoConfigs {
|
||||
pub fn new(logger: &Logger) -> Self {
|
||||
info!(logger, "Creating a new TestMononokeMegarepoConfigs");
|
||||
Self
|
||||
Self {
|
||||
config_versions: HashMap::new(),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn add(&mut self, key: (Target, SyncConfigVersion), target: SyncTargetConfig) {
|
||||
self.config_versions.insert(key, target);
|
||||
}
|
||||
}
|
||||
|
||||
@ -35,10 +45,14 @@ impl MononokeMegarepoConfigs for TestMononokeMegarepoConfigs {
|
||||
fn get_config_by_version(
|
||||
&self,
|
||||
_ctx: CoreContext,
|
||||
_target: Target,
|
||||
_version: SyncConfigVersion,
|
||||
target: Target,
|
||||
version: SyncConfigVersion,
|
||||
) -> Result<SyncTargetConfig, MegarepoError> {
|
||||
unimplemented!("TestMononokeMegarepoConfigs::get_config_by_version")
|
||||
self.config_versions
|
||||
.get(&(target.clone(), version.clone()))
|
||||
.cloned()
|
||||
.ok_or_else(|| anyhow!("{:?} not found", (target, version)))
|
||||
.map_err(MegarepoError::internal)
|
||||
}
|
||||
|
||||
async fn add_target_with_config_version(
|
||||
|
Loading…
Reference in New Issue
Block a user