Blame tests/conformance/sec7_5_4/mod5.yang

Packit 8fb591
module mod5 {
Packit 8fb591
Packit 8fb591
    prefix abc;
Packit 8fb591
    namespace "urn:cesnet:mod5";
Packit 8fb591
Packit 8fb591
    import ietf-yang-library {
Packit 8fb591
        prefix lib;
Packit 8fb591
    }
Packit 8fb591
Packit 8fb591
    rpc rpc_test {
Packit 8fb591
        input {
Packit 8fb591
            container user {
Packit 8fb591
                leaf username {
Packit 8fb591
                    type string {
Packit 8fb591
                        pattern '[a-zA-Z]+';
Packit 8fb591
                    }
Packit 8fb591
                }
Packit 8fb591
Packit 8fb591
                leaf password {
Packit 8fb591
                    type string {
Packit 8fb591
                        length "6..max";
Packit 8fb591
                    }
Packit 8fb591
                }
Packit 8fb591
            }
Packit 8fb591
Packit 8fb591
            container login {
Packit 8fb591
                leaf is_admin {
Packit 8fb591
                    type boolean;
Packit 8fb591
                    default false;
Packit 8fb591
                }
Packit 8fb591
Packit 8fb591
                must "../user/username = 'admin' and " +
Packit 8fb591
                     "../user/password";
Packit 8fb591
            }
Packit 8fb591
Packit 8fb591
            container test {
Packit 8fb591
                leaf test {
Packit 8fb591
                    type empty;
Packit 8fb591
                }
Packit 8fb591
Packit 8fb591
                must "../user/username = 'admin' and " +
Packit 8fb591
                     "/rpc_test/user/password";
Packit 8fb591
            }
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        output {
Packit 8fb591
            container login1 {
Packit 8fb591
                leaf is_admin {
Packit 8fb591
                    type boolean;
Packit 8fb591
                    default false;
Packit 8fb591
                }
Packit 8fb591
Packit 8fb591
                must "../user/username = 'admin' and " +
Packit 8fb591
                     "/rpc_test/user/password";
Packit 8fb591
            }
Packit 8fb591
Packit 8fb591
            container user {
Packit 8fb591
                leaf username {
Packit 8fb591
                    type string {
Packit 8fb591
                        pattern '[a-zA-Z]+';
Packit 8fb591
                    }
Packit 8fb591
                }
Packit 8fb591
Packit 8fb591
                leaf password {
Packit 8fb591
                    type string {
Packit 8fb591
                        length "6..max";
Packit 8fb591
                    }
Packit 8fb591
                }
Packit 8fb591
            }
Packit 8fb591
        }
Packit 8fb591
    }
Packit 8fb591
Packit 8fb591
    container interface {
Packit 8fb591
Packit 8fb591
        must "ifType != 'atm' or " +
Packit 8fb591
             "(ifType = 'atm' and ifMTU <= 17966 and ifMTU >= 64)" {
Packit 8fb591
            error-message "An atm MTU must be  64 .. 17966";
Packit 8fb591
            reference "Test reference.";
Packit 8fb591
            description "Test description";
Packit 8fb591
            error-app-tag "Error 750";
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        leaf ifType {
Packit 8fb591
            type enumeration {
Packit 8fb591
                enum ethernet;
Packit 8fb591
                enum atm;
Packit 8fb591
            }
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        leaf ifMTU {
Packit 8fb591
            type uint32;
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        must "ifType != 'ethernet' or " +
Packit 8fb591
             "(ifType = 'ethernet' and ifMTU = 1500)" {
Packit 8fb591
            description "Test description";
Packit 8fb591
            reference "Test refrence";
Packit 8fb591
            error-app-tag "Error 750";
Packit 8fb591
            error-message "An ethernet MTU must be 1500";
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        container login {
Packit 8fb591
            leaf is_admin {
Packit 8fb591
                type boolean;
Packit 8fb591
                default false;
Packit 8fb591
            }
Packit 8fb591
Packit 8fb591
            must "../../user/username = 'admin' and " +
Packit 8fb591
                 "/user/password  ";
Packit 8fb591
        }
Packit 8fb591
    }
Packit 8fb591
Packit 8fb591
    container user {
Packit 8fb591
        leaf username {
Packit 8fb591
            type string {
Packit 8fb591
                pattern '[a-zA-Z]+';
Packit 8fb591
            }
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        leaf password {
Packit 8fb591
            type string {
Packit 8fb591
                length "6..max";
Packit 8fb591
            }
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
    }
Packit 8fb591
Packit 8fb591
    container state {
Packit 8fb591
        config false;
Packit 8fb591
Packit 8fb591
        leaf error-flag {
Packit 8fb591
            type uint8;
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        leaf year {
Packit 8fb591
            type uint16;
Packit 8fb591
            default 1000;
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        must "year >=1900 and year <=2150";
Packit 8fb591
Packit 8fb591
        must "../user/username = 'admin' and " +
Packit 8fb591
                 "/user/password  ";
Packit 8fb591
Packit 8fb591
        must "/lib:modules-state/lib:module-set-id = 1";
Packit 8fb591
    }
Packit 8fb591
Packit 8fb591
    notification notif {
Packit 8fb591
        container user {
Packit 8fb591
            leaf username {
Packit 8fb591
                type string {
Packit 8fb591
                    pattern '[a-zA-Z]+';
Packit 8fb591
                }
Packit 8fb591
            }
Packit 8fb591
Packit 8fb591
            leaf password {
Packit 8fb591
                type string {
Packit 8fb591
                    length "6..max";
Packit 8fb591
                }
Packit 8fb591
            }
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        container login {
Packit 8fb591
            leaf is_admin {
Packit 8fb591
                type boolean;
Packit 8fb591
                default false;
Packit 8fb591
            }
Packit 8fb591
Packit 8fb591
            must "../user/username = 'admin' and " +
Packit 8fb591
                 "../user/password";
Packit 8fb591
        }
Packit 8fb591
Packit 8fb591
        container test {
Packit 8fb591
            leaf test {
Packit 8fb591
                type empty;
Packit 8fb591
            }
Packit 8fb591
Packit 8fb591
            must "../user/username = 'admin' and " +
Packit 8fb591
                 "/notif/user/password";
Packit 8fb591
        }
Packit 8fb591
    }
Packit 8fb591
}