1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use crate::Methods;
use crate::encrypt;
use crate::LoginData;

pub fn new (method: Methods) -> LoginData {
    LoginData {
        cpw: encrypt::gen_pass(&method),
        symetric_method: method,
    }
}

#[test]
fn login_test(){
    
    let data = encrypt::MethodArgs { word: "uniquepass", password: "variablepass" };

    let vige_method = Methods::Vigenere(data.clone());
    let base_method = Methods::B64(data.clone());
    let _xor_method = Methods::Xor(data.clone());

    assert_eq!(new(vige_method.clone()), LoginData {
        symetric_method: vige_method.clone(),
        cpw: "pnzyufaehs".to_string()
    });
    assert_eq!(new(base_method.clone()), LoginData {
        symetric_method: base_method.clone(),
        cpw: "dmFyaWFibGVwYXNz".to_string()
    });
}