feat: with actual archive test
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
@@ -1,15 +1,15 @@
|
||||
#[derive(Clone)]
|
||||
pub struct FileReader {}
|
||||
|
||||
use std::{collections::BTreeMap, path::PathBuf};
|
||||
use std::{
|
||||
collections::BTreeMap,
|
||||
path::{Path, PathBuf},
|
||||
};
|
||||
|
||||
pub mod extensions;
|
||||
|
||||
use anyhow::anyhow;
|
||||
#[cfg(test)]
|
||||
use mockall::{automock, mock, predicate::*};
|
||||
|
||||
#[cfg_attr(test, automock)]
|
||||
impl FileReader {
|
||||
pub fn new() -> Self {
|
||||
Self {}
|
||||
@@ -49,7 +49,11 @@ impl FileReader {
|
||||
cluster_name
|
||||
);
|
||||
|
||||
files.push(file.into_path().into())
|
||||
if file.path().is_absolute() {
|
||||
files.push((file.path(), file.path().strip_prefix(&location)?).into())
|
||||
} else {
|
||||
files.push(file.into_path().into())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,11 +64,32 @@ impl FileReader {
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct File {
|
||||
pub path: PathBuf,
|
||||
pub relative: Option<PathBuf>,
|
||||
}
|
||||
|
||||
impl From<PathBuf> for File {
|
||||
fn from(value: PathBuf) -> Self {
|
||||
Self { path: value }
|
||||
Self {
|
||||
path: value,
|
||||
relative: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl From<(PathBuf, PathBuf)> for File {
|
||||
fn from(value: (PathBuf, PathBuf)) -> Self {
|
||||
Self {
|
||||
path: value.0,
|
||||
relative: Some(value.1),
|
||||
}
|
||||
}
|
||||
}
|
||||
impl From<(&Path, &Path)> for File {
|
||||
fn from(value: (&Path, &Path)) -> Self {
|
||||
Self {
|
||||
path: value.0.to_path_buf(),
|
||||
relative: Some(value.1.to_path_buf()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,14 +117,8 @@ impl From<Files> for Vec<File> {
|
||||
value
|
||||
.iter()
|
||||
.map(|(cluster_name, files)| (PathBuf::from(cluster_name), files))
|
||||
.flat_map(|(cluster_name, files)| {
|
||||
files
|
||||
.iter()
|
||||
//.map(|file_path| cluster_name.join(&file_path.path))
|
||||
.map(|file_path| file_path.path.clone())
|
||||
.collect::<Vec<_>>()
|
||||
})
|
||||
.map(|f| f.into())
|
||||
.flat_map(|(_cluster_name, files)| files.to_vec())
|
||||
// .map(|f| f.into())
|
||||
.collect::<Vec<_>>()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user