kanrisuru 0.12.1 → 0.16.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +24 -0
- data/README.md +5 -5
- data/kanrisuru.gemspec +7 -3
- data/lib/kanrisuru/command.rb +15 -1
- data/lib/kanrisuru/core/apt/commands/autoclean.rb +13 -0
- data/lib/kanrisuru/core/apt/commands/autoremove.rb +15 -0
- data/lib/kanrisuru/core/apt/commands/clean.rb +13 -0
- data/lib/kanrisuru/core/apt/commands/full_upgrade.rb +14 -0
- data/lib/kanrisuru/core/apt/commands/install.rb +22 -0
- data/lib/kanrisuru/core/apt/commands/list.rb +21 -0
- data/lib/kanrisuru/core/apt/commands/purge.rb +18 -0
- data/lib/kanrisuru/core/apt/commands/remove.rb +18 -0
- data/lib/kanrisuru/core/apt/commands/search.rb +18 -0
- data/lib/kanrisuru/core/apt/commands/show.rb +21 -0
- data/lib/kanrisuru/core/apt/commands/update.rb +14 -0
- data/lib/kanrisuru/core/apt/commands/upgrade.rb +14 -0
- data/lib/kanrisuru/core/apt/commands.rb +14 -0
- data/lib/kanrisuru/core/apt/parser.rb +6 -0
- data/lib/kanrisuru/core/apt/parsers/base.rb +51 -0
- data/lib/kanrisuru/core/apt/parsers/list.rb +28 -0
- data/lib/kanrisuru/core/apt/parsers/search.rb +32 -0
- data/lib/kanrisuru/core/apt/parsers/show.rb +90 -0
- data/lib/kanrisuru/core/apt/types.rb +36 -0
- data/lib/kanrisuru/core/apt.rb +4 -284
- data/lib/kanrisuru/core/archive/commands/tar.rb +126 -0
- data/lib/kanrisuru/core/archive/commands.rb +3 -0
- data/lib/kanrisuru/core/archive/types.rb +9 -0
- data/lib/kanrisuru/core/archive.rb +3 -121
- data/lib/kanrisuru/core/disk/commands/blkid.rb +35 -0
- data/lib/kanrisuru/core/disk/commands/df.rb +26 -0
- data/lib/kanrisuru/core/disk/commands/du.rb +24 -0
- data/lib/kanrisuru/core/disk/commands/lsblk.rb +49 -0
- data/lib/kanrisuru/core/disk/commands.rb +6 -0
- data/lib/kanrisuru/core/disk/constants.rb +9 -0
- data/lib/kanrisuru/core/disk/parser.rb +7 -0
- data/lib/kanrisuru/core/disk/parsers/blkid.rb +72 -0
- data/lib/kanrisuru/core/disk/parsers/df.rb +33 -0
- data/lib/kanrisuru/core/disk/parsers/du.rb +25 -0
- data/lib/kanrisuru/core/disk/parsers/lsblk.rb +96 -0
- data/lib/kanrisuru/core/disk/parsers/lsblk_version.rb +21 -0
- data/lib/kanrisuru/core/disk/types.rb +21 -0
- data/lib/kanrisuru/core/disk.rb +6 -290
- data/lib/kanrisuru/core/dmi/commands/dmi.rb +42 -0
- data/lib/kanrisuru/core/dmi/commands.rb +3 -0
- data/lib/kanrisuru/core/dmi/parser.rb +3 -0
- data/lib/kanrisuru/core/dmi/parsers/dmi.rb +149 -0
- data/lib/kanrisuru/core/dmi/types.rb +361 -0
- data/lib/kanrisuru/core/dmi.rb +4 -522
- data/lib/kanrisuru/core/file/commands/chmod.rb +29 -0
- data/lib/kanrisuru/core/file/commands/chown.rb +35 -0
- data/lib/kanrisuru/core/file/commands/copy.rb +54 -0
- data/lib/kanrisuru/core/file/commands/link.rb +25 -0
- data/lib/kanrisuru/core/file/commands/mkdir.rb +42 -0
- data/lib/kanrisuru/core/file/commands/move.rb +48 -0
- data/lib/kanrisuru/core/file/commands/rm.rb +41 -0
- data/lib/kanrisuru/core/file/commands/symlink.rb +46 -0
- data/lib/kanrisuru/core/file/commands/touch.rb +34 -0
- data/lib/kanrisuru/core/file/commands/unlink.rb +13 -0
- data/lib/kanrisuru/core/file/commands/wc.rb +16 -0
- data/lib/kanrisuru/core/file/commands.rb +29 -0
- data/lib/kanrisuru/core/file/parser.rb +3 -0
- data/lib/kanrisuru/core/file/parsers/wc.rb +16 -0
- data/lib/kanrisuru/core/file/types.rb +9 -0
- data/lib/kanrisuru/core/file.rb +4 -312
- data/lib/kanrisuru/core/find/commands/find.rb +97 -0
- data/lib/kanrisuru/core/find/commands.rb +3 -0
- data/lib/kanrisuru/core/find/constants.rb +9 -0
- data/lib/kanrisuru/core/find/parser.rb +3 -0
- data/lib/kanrisuru/core/find/parsers/find.rb +18 -0
- data/lib/kanrisuru/core/find/types.rb +9 -0
- data/lib/kanrisuru/core/find.rb +5 -97
- data/lib/kanrisuru/core/group/commands/create_group.rb +21 -0
- data/lib/kanrisuru/core/group/commands/delete_group.rb +16 -0
- data/lib/kanrisuru/core/group/commands/get_gid.rb +17 -0
- data/lib/kanrisuru/core/group/commands/get_group.rb +29 -0
- data/lib/kanrisuru/core/group/commands/is_group.rb +14 -0
- data/lib/kanrisuru/core/group/commands/update_group.rb +23 -0
- data/lib/kanrisuru/core/group/commands.rb +8 -0
- data/lib/kanrisuru/core/group/parser.rb +4 -0
- data/lib/kanrisuru/core/group/parsers/gid.rb +15 -0
- data/lib/kanrisuru/core/group/parsers/group.rb +15 -0
- data/lib/kanrisuru/core/group/types.rb +10 -0
- data/lib/kanrisuru/core/group.rb +4 -81
- data/lib/kanrisuru/core/ip/commands/address.rb +86 -0
- data/lib/kanrisuru/core/ip/commands/address_label.rb +54 -0
- data/lib/kanrisuru/core/ip/commands/link.rb +116 -0
- data/lib/kanrisuru/core/ip/commands/link_set_opts.rb +61 -0
- data/lib/kanrisuru/core/ip/commands/link_type_opts.rb +313 -0
- data/lib/kanrisuru/core/ip/commands/maddress.rb +42 -0
- data/lib/kanrisuru/core/ip/commands/neighbour.rb +72 -0
- data/lib/kanrisuru/core/ip/commands/route.rb +152 -0
- data/lib/kanrisuru/core/ip/commands/rule.rb +57 -0
- data/lib/kanrisuru/core/ip/commands.rb +26 -0
- data/lib/kanrisuru/core/ip/constants.rb +25 -0
- data/lib/kanrisuru/core/ip/parser.rb +11 -0
- data/lib/kanrisuru/core/ip/parsers/address.rb +104 -0
- data/lib/kanrisuru/core/ip/parsers/address_label.rb +27 -0
- data/lib/kanrisuru/core/ip/parsers/base.rb +166 -0
- data/lib/kanrisuru/core/ip/parsers/link.rb +86 -0
- data/lib/kanrisuru/core/ip/parsers/maddress.rb +85 -0
- data/lib/kanrisuru/core/ip/parsers/neighbour.rb +89 -0
- data/lib/kanrisuru/core/ip/parsers/route.rb +76 -0
- data/lib/kanrisuru/core/ip/parsers/rule.rb +60 -0
- data/lib/kanrisuru/core/ip/parsers/version.rb +15 -0
- data/lib/kanrisuru/core/ip/types.rb +46 -0
- data/lib/kanrisuru/core/ip.rb +15 -1002
- data/lib/kanrisuru/core/mount/commands/mount.rb +65 -0
- data/lib/kanrisuru/core/mount/commands/umount.rb +35 -0
- data/lib/kanrisuru/core/mount/commands.rb +49 -0
- data/lib/kanrisuru/core/mount.rb +2 -125
- data/lib/kanrisuru/core/path/commands/ls.rb +26 -0
- data/lib/kanrisuru/core/path/commands/pwd.rb +16 -0
- data/lib/kanrisuru/core/path/commands/readlink.rb +22 -0
- data/lib/kanrisuru/core/path/commands/realpath.rb +18 -0
- data/lib/kanrisuru/core/path/commands/which.rb +19 -0
- data/lib/kanrisuru/core/path/commands/whoami.rb +16 -0
- data/lib/kanrisuru/core/path/commands.rb +8 -0
- data/lib/kanrisuru/core/path/parser.rb +4 -0
- data/lib/kanrisuru/core/path/parsers/ls.rb +53 -0
- data/lib/kanrisuru/core/path/parsers/which.rb +18 -0
- data/lib/kanrisuru/core/path/types.rb +12 -0
- data/lib/kanrisuru/core/path.rb +4 -121
- data/lib/kanrisuru/core/socket/commands/ss.rb +44 -0
- data/lib/kanrisuru/core/socket/commands.rb +3 -0
- data/lib/kanrisuru/core/socket/constants.rb +29 -0
- data/lib/kanrisuru/core/socket/parser.rb +3 -0
- data/lib/kanrisuru/core/socket/parsers/ss.rb +109 -0
- data/lib/kanrisuru/core/socket/types.rb +18 -0
- data/lib/kanrisuru/core/socket.rb +5 -164
- data/lib/kanrisuru/core/stat/commands/stat.rb +62 -0
- data/lib/kanrisuru/core/stat/commands.rb +3 -0
- data/lib/kanrisuru/core/stat/parser.rb +3 -0
- data/lib/kanrisuru/core/stat/parsers/stat.rb +34 -0
- data/lib/kanrisuru/core/stat/types.rb +14 -0
- data/lib/kanrisuru/core/stat.rb +4 -81
- data/lib/kanrisuru/core/stream/commands/cat.rb +25 -0
- data/lib/kanrisuru/core/stream/commands/echo.rb +20 -0
- data/lib/kanrisuru/core/stream/commands/head.rb +18 -0
- data/lib/kanrisuru/core/stream/commands/read_file_chunk.rb +21 -0
- data/lib/kanrisuru/core/stream/commands/sed.rb +23 -0
- data/lib/kanrisuru/core/stream/commands/tail.rb +18 -0
- data/lib/kanrisuru/core/stream/commands.rb +27 -0
- data/lib/kanrisuru/core/stream/parser.rb +4 -0
- data/lib/kanrisuru/core/stream/parsers/echo.rb +17 -0
- data/lib/kanrisuru/core/stream/parsers/sed.rb +17 -0
- data/lib/kanrisuru/core/stream.rb +3 -104
- data/lib/kanrisuru/core/system/commands/cpu_info.rb +32 -0
- data/lib/kanrisuru/core/system/commands/free.rb +25 -0
- data/lib/kanrisuru/core/system/commands/kernel_statistics.rb +21 -0
- data/lib/kanrisuru/core/system/commands/kill.rb +22 -0
- data/lib/kanrisuru/core/system/commands/last.rb +31 -0
- data/lib/kanrisuru/core/system/commands/load_average.rb +16 -0
- data/lib/kanrisuru/core/system/commands/load_env.rb +16 -0
- data/lib/kanrisuru/core/system/commands/lscpu.rb +17 -0
- data/lib/kanrisuru/core/system/commands/lsof.rb +16 -0
- data/lib/kanrisuru/core/system/commands/poweroff.rb +42 -0
- data/lib/kanrisuru/core/system/commands/ps.rb +35 -0
- data/lib/kanrisuru/core/system/commands/reboot.rb +42 -0
- data/lib/kanrisuru/core/system/commands/uptime.rb +18 -0
- data/lib/kanrisuru/core/system/commands/w.rb +24 -0
- data/lib/kanrisuru/core/system/commands.rb +34 -0
- data/lib/kanrisuru/core/system/parser.rb +11 -0
- data/lib/kanrisuru/core/system/parsers/kernel_statistics.rb +56 -0
- data/lib/kanrisuru/core/system/parsers/last.rb +64 -0
- data/lib/kanrisuru/core/system/parsers/load_average.rb +15 -0
- data/lib/kanrisuru/core/system/parsers/load_env.rb +24 -0
- data/lib/kanrisuru/core/system/parsers/lscpu.rb +90 -0
- data/lib/kanrisuru/core/system/parsers/lsof.rb +62 -0
- data/lib/kanrisuru/core/system/parsers/ps.rb +71 -0
- data/lib/kanrisuru/core/system/parsers/uptime.rb +38 -0
- data/lib/kanrisuru/core/system/parsers/w.rb +30 -0
- data/lib/kanrisuru/core/system/types.rb +108 -0
- data/lib/kanrisuru/core/system.rb +4 -687
- data/lib/kanrisuru/core/transfer/commands/download.rb +26 -0
- data/lib/kanrisuru/core/transfer/commands/upload.rb +23 -0
- data/lib/kanrisuru/core/transfer/commands/wget.rb +168 -0
- data/lib/kanrisuru/core/transfer/commands.rb +5 -0
- data/lib/kanrisuru/core/transfer/constants.rb +10 -0
- data/lib/kanrisuru/core/transfer.rb +3 -199
- data/lib/kanrisuru/core/user/commands/create_user.rb +49 -0
- data/lib/kanrisuru/core/user/commands/delete_user.rb +20 -0
- data/lib/kanrisuru/core/user/commands/get_uid.rb +15 -0
- data/lib/kanrisuru/core/user/commands/get_user.rb +48 -0
- data/lib/kanrisuru/core/user/commands/is_user.rb +14 -0
- data/lib/kanrisuru/core/user/commands/update_user.rb +54 -0
- data/lib/kanrisuru/core/user/commands.rb +8 -0
- data/lib/kanrisuru/core/user/parser.rb +4 -0
- data/lib/kanrisuru/core/user/parsers/getent.rb +17 -0
- data/lib/kanrisuru/core/user/parsers/groups.rb +17 -0
- data/lib/kanrisuru/core/user/types.rb +11 -0
- data/lib/kanrisuru/core/user.rb +4 -182
- data/lib/kanrisuru/core/yum/commands/autoremove.rb +14 -0
- data/lib/kanrisuru/core/yum/commands/clean.rb +23 -0
- data/lib/kanrisuru/core/yum/commands/erase.rb +20 -0
- data/lib/kanrisuru/core/yum/commands/info.rb +21 -0
- data/lib/kanrisuru/core/yum/commands/install.rb +18 -0
- data/lib/kanrisuru/core/yum/commands/list.rb +30 -0
- data/lib/kanrisuru/core/yum/commands/localinstall.rb +22 -0
- data/lib/kanrisuru/core/yum/commands/remove.rb +20 -0
- data/lib/kanrisuru/core/yum/commands/repolist.rb +20 -0
- data/lib/kanrisuru/core/yum/commands/search.rb +21 -0
- data/lib/kanrisuru/core/yum/commands/update.rb +14 -0
- data/lib/kanrisuru/core/yum/commands/upgrade.rb +14 -0
- data/lib/kanrisuru/core/yum/commands.rb +39 -0
- data/lib/kanrisuru/core/yum/parser.rb +7 -0
- data/lib/kanrisuru/core/yum/parsers/base.rb +31 -0
- data/lib/kanrisuru/core/yum/parsers/info.rb +69 -0
- data/lib/kanrisuru/core/yum/parsers/list.rb +24 -0
- data/lib/kanrisuru/core/yum/parsers/repolist.rb +60 -0
- data/lib/kanrisuru/core/yum/parsers/search.rb +30 -0
- data/lib/kanrisuru/core/yum/types.rb +41 -0
- data/lib/kanrisuru/core/yum.rb +4 -347
- data/lib/kanrisuru/core/zypper/commands/add_lock.rb +22 -0
- data/lib/kanrisuru/core/zypper/commands/add_repo.rb +38 -0
- data/lib/kanrisuru/core/zypper/commands/add_service.rb +26 -0
- data/lib/kanrisuru/core/zypper/commands/clean_cache.rb +22 -0
- data/lib/kanrisuru/core/zypper/commands/clean_locks.rb +17 -0
- data/lib/kanrisuru/core/zypper/commands/dist_upgrade.rb +25 -0
- data/lib/kanrisuru/core/zypper/commands/info.rb +25 -0
- data/lib/kanrisuru/core/zypper/commands/install.rb +39 -0
- data/lib/kanrisuru/core/zypper/commands/install_new_recommends.rb +23 -0
- data/lib/kanrisuru/core/zypper/commands/list_locks.rb +22 -0
- data/lib/kanrisuru/core/zypper/commands/list_patches.rb +34 -0
- data/lib/kanrisuru/core/zypper/commands/list_repos.rb +21 -0
- data/lib/kanrisuru/core/zypper/commands/list_services.rb +21 -0
- data/lib/kanrisuru/core/zypper/commands/list_updates.rb +30 -0
- data/lib/kanrisuru/core/zypper/commands/modify_repo.rb +48 -0
- data/lib/kanrisuru/core/zypper/commands/modify_service.rb +40 -0
- data/lib/kanrisuru/core/zypper/commands/patch.rb +40 -0
- data/lib/kanrisuru/core/zypper/commands/patch_check.rb +29 -0
- data/lib/kanrisuru/core/zypper/commands/purge_kernels.rb +18 -0
- data/lib/kanrisuru/core/zypper/commands/refresh_repos.rb +24 -0
- data/lib/kanrisuru/core/zypper/commands/refresh_services.rb +21 -0
- data/lib/kanrisuru/core/zypper/commands/remove.rb +26 -0
- data/lib/kanrisuru/core/zypper/commands/remove_lock.rb +22 -0
- data/lib/kanrisuru/core/zypper/commands/remove_repo.rb +32 -0
- data/lib/kanrisuru/core/zypper/commands/remove_service.rb +21 -0
- data/lib/kanrisuru/core/zypper/commands/rename_repo.rb +20 -0
- data/lib/kanrisuru/core/zypper/commands/search.rb +52 -0
- data/lib/kanrisuru/core/zypper/commands/source_install.rb +22 -0
- data/lib/kanrisuru/core/zypper/commands/update.rb +27 -0
- data/lib/kanrisuru/core/zypper/commands/verify.rb +23 -0
- data/lib/kanrisuru/core/zypper/commands.rb +109 -0
- data/lib/kanrisuru/core/zypper/constants.rb +19 -0
- data/lib/kanrisuru/core/zypper/parser.rb +11 -0
- data/lib/kanrisuru/core/zypper/parsers/base.rb +18 -0
- data/lib/kanrisuru/core/zypper/parsers/info.rb +77 -0
- data/lib/kanrisuru/core/zypper/parsers/list_locks.rb +36 -0
- data/lib/kanrisuru/core/zypper/parsers/list_patches.rb +40 -0
- data/lib/kanrisuru/core/zypper/parsers/list_repos.rb +37 -0
- data/lib/kanrisuru/core/zypper/parsers/list_services.rb +36 -0
- data/lib/kanrisuru/core/zypper/parsers/list_updates.rb +32 -0
- data/lib/kanrisuru/core/zypper/parsers/patch_check.rb +34 -0
- data/lib/kanrisuru/core/zypper/parsers/search.rb +37 -0
- data/lib/kanrisuru/core/zypper/types.rb +88 -0
- data/lib/kanrisuru/core/zypper.rb +5 -998
- data/lib/kanrisuru/result.rb +15 -0
- data/lib/kanrisuru/version.rb +1 -1
- data/spec/functional/core/archive_spec.rb +1 -1
- data/spec/functional/core/disk_spec.rb +77 -0
- data/spec/functional/core/dmi_spec.rb +78 -0
- data/spec/functional/core/file_spec.rb +284 -0
- data/spec/functional/core/group_spec.rb +62 -0
- data/spec/functional/core/ip/ip_address_label_spec.rb +81 -0
- data/spec/functional/core/ip/ip_address_spec.rb +95 -0
- data/spec/functional/core/ip/ip_link_spec.rb +814 -0
- data/spec/functional/core/ip/ip_maddress_spec.rb +78 -0
- data/spec/functional/core/ip/ip_neighbour_spec.rb +119 -0
- data/spec/functional/core/ip/ip_route_spec.rb +174 -0
- data/spec/functional/core/ip/ip_rule_spec.rb +75 -0
- data/spec/functional/core/ip/ip_spec.rb +27 -0
- data/spec/functional/core/system_spec.rb +135 -0
- data/spec/functional/core/user_spec.rb +97 -0
- data/spec/functional/result_spec.rb +197 -0
- data/spec/{hosts.json → helper/hosts.json} +0 -0
- data/spec/helper/simplecov.rb +21 -0
- data/spec/helper/stub_network.rb +6 -2
- data/spec/helper/test_hosts.rb +1 -1
- data/spec/integration/core/apt/debian_spec.rb +9 -0
- data/spec/integration/core/apt/ubuntu_spec.rb +9 -0
- data/spec/integration/core/archive/centos_spec.rb +9 -0
- data/spec/integration/core/archive/debian_spec.rb +9 -0
- data/spec/integration/core/archive/fedora_spec.rb +9 -0
- data/spec/integration/core/archive/opensuse_spec.rb +9 -0
- data/spec/integration/core/archive/rhel_spec.rb +9 -0
- data/spec/integration/core/archive/sles_spec.rb +9 -0
- data/spec/integration/core/archive/ubuntu_spec.rb +9 -0
- data/spec/integration/core/disk/centos_spec.rb +9 -0
- data/spec/integration/core/disk/debian_spec.rb +9 -0
- data/spec/integration/core/disk/fedora_spec.rb +9 -0
- data/spec/integration/core/disk/opensuse_spec.rb +9 -0
- data/spec/integration/core/disk/rhel_spec.rb +9 -0
- data/spec/integration/core/disk/sles_spec.rb +9 -0
- data/spec/integration/core/disk/ubuntu_spec.rb +9 -0
- data/spec/integration/core/dmi/centos_spec.rb +9 -0
- data/spec/integration/core/dmi/debian_spec.rb +9 -0
- data/spec/integration/core/dmi/fedora_spec.rb +9 -0
- data/spec/integration/core/dmi/opensuse_spec.rb +9 -0
- data/spec/integration/core/dmi/rhel_spec.rb +9 -0
- data/spec/integration/core/dmi/sles_spec.rb +9 -0
- data/spec/integration/core/dmi/ubuntu_spec.rb +9 -0
- data/spec/integration/core/file/centos_spec.rb +9 -0
- data/spec/integration/core/file/debian_spec.rb +9 -0
- data/spec/integration/core/file/fedora_spec.rb +9 -0
- data/spec/integration/core/file/opensuse_spec.rb +9 -0
- data/spec/integration/core/file/rhel_spec.rb +9 -0
- data/spec/integration/core/file/sles_spec.rb +9 -0
- data/spec/integration/core/file/ubuntu_spec.rb +9 -0
- data/spec/integration/core/find/centos_spec.rb +9 -0
- data/spec/integration/core/find/debian_spec.rb +9 -0
- data/spec/integration/core/find/fedora_spec.rb +9 -0
- data/spec/integration/core/find/opensuse_spec.rb +9 -0
- data/spec/integration/core/find/rhel_spec.rb +9 -0
- data/spec/integration/core/find/sles_spec.rb +9 -0
- data/spec/integration/core/find/ubuntu_spec.rb +9 -0
- data/spec/integration/core/group/centos_spec.rb +9 -0
- data/spec/integration/core/group/debian_spec.rb +9 -0
- data/spec/integration/core/group/fedora_spec.rb +9 -0
- data/spec/integration/core/group/opensuse_spec.rb +9 -0
- data/spec/integration/core/group/rhel_spec.rb +9 -0
- data/spec/integration/core/group/sles_spec.rb +9 -0
- data/spec/integration/core/group/ubuntu_spec.rb +9 -0
- data/spec/integration/core/ip/centos_spec.rb +9 -0
- data/spec/integration/core/ip/debian_spec.rb +9 -0
- data/spec/integration/core/ip/fedora_spec.rb +9 -0
- data/spec/integration/core/ip/opensuse_spec.rb +9 -0
- data/spec/integration/core/ip/rhel_spec.rb +9 -0
- data/spec/integration/core/ip/sles_spec.rb +9 -0
- data/spec/integration/core/ip/ubuntu_spec.rb +9 -0
- data/spec/integration/core/path/centos_spec.rb +9 -0
- data/spec/integration/core/path/debian_spec.rb +9 -0
- data/spec/integration/core/path/fedora_spec.rb +9 -0
- data/spec/integration/core/path/opensuse_spec.rb +9 -0
- data/spec/integration/core/path/rhel_spec.rb +9 -0
- data/spec/integration/core/path/sles_spec.rb +9 -0
- data/spec/integration/core/path/ubuntu_spec.rb +9 -0
- data/spec/integration/core/socket/centos_spec.rb +9 -0
- data/spec/integration/core/socket/debian_spec.rb +9 -0
- data/spec/integration/core/socket/fedora_spec.rb +9 -0
- data/spec/integration/core/socket/opensuse_spec.rb +9 -0
- data/spec/integration/core/socket/rhel_spec.rb +9 -0
- data/spec/integration/core/socket/sles_spec.rb +9 -0
- data/spec/integration/core/socket/ubuntu_spec.rb +9 -0
- data/spec/integration/core/stat/centos_spec.rb +9 -0
- data/spec/integration/core/stat/debian_spec.rb +9 -0
- data/spec/integration/core/stat/fedora_spec.rb +9 -0
- data/spec/integration/core/stat/opensuse_spec.rb +9 -0
- data/spec/integration/core/stat/rhel_spec.rb +9 -0
- data/spec/integration/core/stat/sles_spec.rb +9 -0
- data/spec/integration/core/stat/ubuntu_spec.rb +9 -0
- data/spec/integration/core/stream/centos_spec.rb +9 -0
- data/spec/integration/core/stream/debian_spec.rb +9 -0
- data/spec/integration/core/stream/fedora_spec.rb +9 -0
- data/spec/integration/core/stream/opensuse_spec.rb +9 -0
- data/spec/integration/core/stream/rhel_spec.rb +9 -0
- data/spec/integration/core/stream/sles_spec.rb +9 -0
- data/spec/integration/core/stream/ubuntu_spec.rb +9 -0
- data/spec/integration/core/system/centos_spec.rb +9 -0
- data/spec/integration/core/system/debian_spec.rb +9 -0
- data/spec/integration/core/system/fedora_spec.rb +9 -0
- data/spec/integration/core/system/opensuse_spec.rb +9 -0
- data/spec/integration/core/system/rhel_spec.rb +9 -0
- data/spec/integration/core/system/sles_spec.rb +9 -0
- data/spec/integration/core/system/ubuntu_spec.rb +9 -0
- data/spec/integration/core/transfer/centos_spec.rb +9 -0
- data/spec/integration/core/transfer/debian_spec.rb +9 -0
- data/spec/integration/core/transfer/fedora_spec.rb +9 -0
- data/spec/integration/core/transfer/opensuse_spec.rb +9 -0
- data/spec/integration/core/transfer/rhel_spec.rb +9 -0
- data/spec/integration/core/transfer/sles_spec.rb +9 -0
- data/spec/integration/core/transfer/ubuntu_spec.rb +9 -0
- data/spec/integration/core/user/centos_spec.rb +9 -0
- data/spec/integration/core/user/debian_spec.rb +9 -0
- data/spec/integration/core/user/fedora_spec.rb +9 -0
- data/spec/integration/core/user/opensuse_spec.rb +9 -0
- data/spec/integration/core/user/rhel_spec.rb +9 -0
- data/spec/integration/core/user/sles_spec.rb +9 -0
- data/spec/integration/core/user/ubuntu_spec.rb +9 -0
- data/spec/integration/core/yum/centos_spec.rb +9 -0
- data/spec/integration/core/yum/fedora_spec.rb +9 -0
- data/spec/integration/core/yum/rhel_spec.rb +9 -0
- data/spec/integration/core/zypper/opensuse_spec.rb +9 -0
- data/spec/integration/core/zypper/sles_spec.rb +9 -0
- data/spec/integration/remote/cluster/ubuntu_spec.rb +9 -0
- data/spec/integration/remote/cpu/centos_spec.rb +9 -0
- data/spec/integration/remote/cpu/debian_spec.rb +9 -0
- data/spec/integration/remote/cpu/fedora_spec.rb +9 -0
- data/spec/integration/remote/cpu/opensuse_spec.rb +9 -0
- data/spec/integration/remote/cpu/rhel_spec.rb +9 -0
- data/spec/integration/remote/cpu/sles_spec.rb +9 -0
- data/spec/integration/remote/cpu/ubuntu_spec.rb +9 -0
- data/spec/integration/remote/env/centos_spec.rb +9 -0
- data/spec/integration/remote/env/debian_spec.rb +9 -0
- data/spec/integration/remote/env/fedora_spec.rb +9 -0
- data/spec/integration/remote/env/opensuse_spec.rb +9 -0
- data/spec/integration/remote/env/rhel_spec.rb +9 -0
- data/spec/integration/remote/env/sles_spec.rb +9 -0
- data/spec/integration/remote/env/ubuntu_spec.rb +9 -0
- data/spec/integration/remote/fstab/centos_spec.rb +9 -0
- data/spec/integration/remote/fstab/debian_spec.rb +9 -0
- data/spec/integration/remote/fstab/fedora_spec.rb +9 -0
- data/spec/integration/remote/fstab/opensuse_spec.rb +9 -0
- data/spec/integration/remote/fstab/rhel_spec.rb +9 -0
- data/spec/integration/remote/fstab/sles_spec.rb +9 -0
- data/spec/integration/remote/fstab/ubuntu_spec.rb +9 -0
- data/spec/integration/remote/host/centos_spec.rb +9 -0
- data/spec/integration/remote/host/debian_spec.rb +9 -0
- data/spec/integration/remote/host/fedora_spec.rb +9 -0
- data/spec/integration/remote/host/opensuse_spec.rb +9 -0
- data/spec/integration/remote/host/rhel_spec.rb +9 -0
- data/spec/integration/remote/host/sles_spec.rb +9 -0
- data/spec/integration/remote/host/ubuntu_spec.rb +9 -0
- data/spec/integration/remote/memory/centos_spec.rb +9 -0
- data/spec/integration/remote/memory/debian_spec.rb +9 -0
- data/spec/integration/remote/memory/fedora_spec.rb +9 -0
- data/spec/integration/remote/memory/opensuse_spec.rb +9 -0
- data/spec/integration/remote/memory/rhel_spec.rb +9 -0
- data/spec/integration/remote/memory/sles_spec.rb +9 -0
- data/spec/integration/remote/memory/ubuntu_spec.rb +9 -0
- data/spec/integration/remote/os/centos_spec.rb +9 -0
- data/spec/integration/remote/os/debian_spec.rb +9 -0
- data/spec/integration/remote/os/fedora_spec.rb +9 -0
- data/spec/integration/remote/os/opensuse_spec.rb +9 -0
- data/spec/integration/remote/os/rhel_spec.rb +9 -0
- data/spec/integration/remote/os/sles_spec.rb +9 -0
- data/spec/integration/remote/os/ubuntu_spec.rb +9 -0
- data/spec/integration/remote/remote_file/centos_spec.rb +9 -0
- data/spec/integration/remote/remote_file/debian_spec.rb +9 -0
- data/spec/integration/remote/remote_file/fedora_spec.rb +9 -0
- data/spec/integration/remote/remote_file/opensuse_spec.rb +9 -0
- data/spec/integration/remote/remote_file/rhel_spec.rb +9 -0
- data/spec/integration/remote/remote_file/sles_spec.rb +9 -0
- data/spec/integration/remote/remote_file/ubuntu_spec.rb +9 -0
- data/spec/spec_helper.rb +2 -11
- data/spec/support/shared_examples/integration/core/apt.rb +117 -0
- data/spec/support/shared_examples/integration/core/archive.rb +221 -0
- data/spec/support/shared_examples/integration/core/disk.rb +91 -0
- data/spec/support/shared_examples/integration/core/dmi.rb +34 -0
- data/spec/support/shared_examples/integration/core/file.rb +357 -0
- data/spec/support/shared_examples/integration/core/find.rb +50 -0
- data/spec/support/shared_examples/integration/core/group.rb +62 -0
- data/spec/support/shared_examples/integration/core/ip.rb +68 -0
- data/spec/support/shared_examples/integration/core/path.rb +90 -0
- data/spec/support/shared_examples/integration/core/socket.rb +27 -0
- data/spec/support/shared_examples/integration/core/stat.rb +95 -0
- data/spec/support/shared_examples/integration/core/stream.rb +112 -0
- data/spec/support/shared_examples/integration/core/system.rb +155 -0
- data/spec/support/shared_examples/integration/core/transfer.rb +101 -0
- data/spec/support/shared_examples/integration/core/user.rb +72 -0
- data/spec/support/shared_examples/integration/core/yum.rb +115 -0
- data/spec/support/shared_examples/integration/core/zypper.rb +196 -0
- data/spec/{integration/remote/cluster_spec.rb → support/shared_examples/integration/remote/cluster.rb} +2 -2
- data/spec/support/shared_examples/integration/remote/cpu.rb +38 -0
- data/spec/support/shared_examples/integration/remote/env_spec.rb +33 -0
- data/spec/support/shared_examples/integration/remote/fstab.rb +89 -0
- data/spec/support/shared_examples/integration/remote/host.rb +65 -0
- data/spec/support/shared_examples/integration/remote/memory.rb +27 -0
- data/spec/support/shared_examples/integration/remote/os.rb +60 -0
- data/spec/support/shared_examples/integration/remote/remote_file.rb +172 -0
- data/spec/unit/command_spec.rb +2 -0
- data/spec/unit/core/ip_spec.rb +12 -0
- data/spec/unit/util_spec.rb +16 -0
- metadata +436 -31
- data/spec/integration/core/apt_spec.rb +0 -119
- data/spec/integration/core/archive_spec.rb +0 -223
- data/spec/integration/core/disk_spec.rb +0 -93
- data/spec/integration/core/dmi_spec.rb +0 -36
- data/spec/integration/core/file_spec.rb +0 -359
- data/spec/integration/core/find_spec.rb +0 -52
- data/spec/integration/core/group_spec.rb +0 -64
- data/spec/integration/core/ip_spec.rb +0 -70
- data/spec/integration/core/path_spec.rb +0 -92
- data/spec/integration/core/socket_spec.rb +0 -29
- data/spec/integration/core/stat_spec.rb +0 -97
- data/spec/integration/core/stream_spec.rb +0 -114
- data/spec/integration/core/system_spec.rb +0 -142
- data/spec/integration/core/transfer_spec.rb +0 -103
- data/spec/integration/core/user_spec.rb +0 -74
- data/spec/integration/core/yum_spec.rb +0 -117
- data/spec/integration/core/zypper_spec.rb +0 -198
- data/spec/integration/remote/cpu_spec.rb +0 -40
- data/spec/integration/remote/env_spec.rb +0 -35
- data/spec/integration/remote/fstab_spec.rb +0 -91
- data/spec/integration/remote/host_spec.rb +0 -67
- data/spec/integration/remote/memory_spec.rb +0 -29
- data/spec/integration/remote/os_spec.rb +0 -62
- data/spec/integration/remote/remote_file_spec.rb +0 -174
- data/spec/zz_reboot_spec.rb +0 -46
@@ -0,0 +1,78 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::IP do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
%w[maddress maddr m].each do |object_variant|
|
23
|
+
context "with ip #{object_variant}" do
|
24
|
+
context 'with json support' do
|
25
|
+
before(:all) do
|
26
|
+
StubNetwork.stub_command!(:ip_version) do
|
27
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
after(:all) do
|
32
|
+
StubNetwork.unstub_command!(:ip_version)
|
33
|
+
end
|
34
|
+
|
35
|
+
%w[show list].each do |action_variant|
|
36
|
+
it "prepares #{action_variant} command" do
|
37
|
+
expect_command(host.ip(object_variant, action_variant), 'ip -json maddress show')
|
38
|
+
expect_command(host.ip(object_variant, action_variant, {
|
39
|
+
dev: 'eth0',
|
40
|
+
family: 'inet'
|
41
|
+
}), 'ip -json -family inet maddress show dev eth0')
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context 'without json support' do
|
47
|
+
before(:all) do
|
48
|
+
StubNetwork.stub_command!(:ip_version) do
|
49
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION - 23
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
after(:all) do
|
54
|
+
StubNetwork.unstub_command!(:ip_version)
|
55
|
+
end
|
56
|
+
|
57
|
+
%w[show list].each do |action_variant|
|
58
|
+
it "prepares #{action_variant} command" do
|
59
|
+
expect_command(host.ip(object_variant, action_variant), 'ip maddress show')
|
60
|
+
expect_command(host.ip(object_variant, action_variant, {
|
61
|
+
dev: 'eth0',
|
62
|
+
family: 'inet'
|
63
|
+
}), 'ip -family inet maddress show dev eth0')
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
%w[add delete del].each do |action_variant|
|
69
|
+
it "prepares #{action_variant} command" do
|
70
|
+
expect_command(host.ip(object_variant, action_variant, {
|
71
|
+
address: '01:80:c2:00:00:0e',
|
72
|
+
dev: 'eth0'
|
73
|
+
}), "ip maddress #{action_variant} address 01:80:c2:00:00:0e dev eth0")
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,119 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::IP do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
%w[neighbour neigh n].each do |object_variant|
|
23
|
+
context "with ip #{object_variant}" do
|
24
|
+
context 'with json support' do
|
25
|
+
before(:all) do
|
26
|
+
StubNetwork.stub_command!(:ip_version) do
|
27
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
after(:all) do
|
32
|
+
StubNetwork.unstub_command!(:ip_version)
|
33
|
+
end
|
34
|
+
|
35
|
+
%w[show list].each do |action_variant|
|
36
|
+
it "prepares #{action_variant} command" do
|
37
|
+
expect_command(host.ip(object_variant), 'ip -json neighbour show')
|
38
|
+
expect_command(host.ip(object_variant, {
|
39
|
+
stats: true,
|
40
|
+
to: '10.10.10.10',
|
41
|
+
dev: 'ens3',
|
42
|
+
vrf: 'red',
|
43
|
+
proxy: true,
|
44
|
+
unused: true,
|
45
|
+
nud: 'all'
|
46
|
+
}), 'ip -json -s neighbour show to 10.10.10.10 dev ens3 nud all proxy unused')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
context 'without json support' do
|
52
|
+
before(:all) do
|
53
|
+
StubNetwork.stub_command!(:ip_version) do
|
54
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION - 10
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
after(:all) do
|
59
|
+
StubNetwork.unstub_command!(:ip_version)
|
60
|
+
end
|
61
|
+
|
62
|
+
%w[show list].each do |action_variant|
|
63
|
+
it "prepares #{action_variant} command" do
|
64
|
+
expect_command(host.ip(object_variant), 'ip neighbour show')
|
65
|
+
expect_command(host.ip(object_variant, {
|
66
|
+
stats: true,
|
67
|
+
to: '10.10.10.10',
|
68
|
+
dev: 'ens3',
|
69
|
+
vrf: 'red',
|
70
|
+
proxy: true,
|
71
|
+
unused: true,
|
72
|
+
nud: 'all'
|
73
|
+
}), 'ip -s neighbour show to 10.10.10.10 dev ens3 nud all proxy unused')
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
%w[add change replace].each do |action_variant|
|
79
|
+
it "prepares #{action_variant} command" do
|
80
|
+
expect_command(host.ip(object_variant, action_variant, {
|
81
|
+
to: '192.168.16.14',
|
82
|
+
dev: 'eno1',
|
83
|
+
proxy: true,
|
84
|
+
router: true,
|
85
|
+
extern_learn: true,
|
86
|
+
permanent: true,
|
87
|
+
nud: 'probe',
|
88
|
+
lladdr: '17:39:D1:24:53:CF'
|
89
|
+
}), "ip neighbour #{action_variant} to 192.168.16.14 dev eno1 lladdr 17:39:D1:24:53:CF nud probe proxy router extern_learn")
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
%w[delete del].each do |action_variant|
|
94
|
+
it "prepares #{action_variant} command" do
|
95
|
+
expect_command(host.ip(object_variant, action_variant, {
|
96
|
+
to: '192.168.16.14',
|
97
|
+
dev: 'eno1',
|
98
|
+
proxy: true,
|
99
|
+
router: true,
|
100
|
+
extern_learn: true,
|
101
|
+
permanent: true
|
102
|
+
}), "ip neighbour #{action_variant} to 192.168.16.14 dev eno1 proxy router extern_learn")
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'prepares flush command' do
|
107
|
+
expect_command(host.ip(object_variant, 'flush', {
|
108
|
+
stats: true,
|
109
|
+
to: '10.10.10.10',
|
110
|
+
dev: 'ens3',
|
111
|
+
vrf: 'red',
|
112
|
+
proxy: true,
|
113
|
+
unused: true,
|
114
|
+
nud: 'all'
|
115
|
+
}), 'ip -s neighbour flush to 10.10.10.10 dev ens3 nud all unused')
|
116
|
+
end
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
@@ -0,0 +1,174 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::IP do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
%w[route r ro rou rout].each do |object_variant|
|
23
|
+
context "with ip #{object_variant}" do
|
24
|
+
context 'with json support' do
|
25
|
+
before(:all) do
|
26
|
+
StubNetwork.stub_command!(:ip_version) do
|
27
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
after(:all) do
|
32
|
+
StubNetwork.unstub_command!(:ip_version)
|
33
|
+
end
|
34
|
+
|
35
|
+
%w[show list].each do |action_variant|
|
36
|
+
it "prepares #{action_variant} command" do
|
37
|
+
expect_command(host.ip(object_variant), 'ip -json route show')
|
38
|
+
expect_command(host.ip(object_variant, {
|
39
|
+
family: 'inet',
|
40
|
+
to: '10.0/16',
|
41
|
+
from: '10.1/16',
|
42
|
+
dev: 'eno4',
|
43
|
+
protocol: 'kernel',
|
44
|
+
dsfield: '0x30',
|
45
|
+
table: 'all',
|
46
|
+
vrf: 'blue',
|
47
|
+
cloned: true,
|
48
|
+
cached: true,
|
49
|
+
via: '10.0.0.1',
|
50
|
+
src: '10.5.5.5',
|
51
|
+
realms: '6'
|
52
|
+
}), 'ip -json -family inet route show to 10.0/16 dev eno4 protocol kernel table all dsfield 0x30 via 10.0.0.1 vrf blue src 10.5.5.5 realms 6 cloned cached')
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context 'without json support' do
|
58
|
+
before(:all) do
|
59
|
+
StubNetwork.stub_command!(:ip_version) do
|
60
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION - 33
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
after(:all) do
|
65
|
+
StubNetwork.unstub_command!(:ip_version)
|
66
|
+
end
|
67
|
+
|
68
|
+
%w[show list].each do |action_variant|
|
69
|
+
it "prepares #{action_variant} command" do
|
70
|
+
expect_command(host.ip(object_variant), 'ip route show')
|
71
|
+
expect_command(host.ip(object_variant, {
|
72
|
+
family: 'inet',
|
73
|
+
to: '10.0/16',
|
74
|
+
from: '10.1/16',
|
75
|
+
dev: 'eno4',
|
76
|
+
protocol: 'kernel',
|
77
|
+
dsfield: '0x30',
|
78
|
+
table: 'all',
|
79
|
+
vrf: 'blue',
|
80
|
+
cloned: true,
|
81
|
+
cached: true,
|
82
|
+
via: '10.0.0.1',
|
83
|
+
src: '10.5.5.5',
|
84
|
+
realms: '6'
|
85
|
+
}), 'ip -family inet route show to 10.0/16 dev eno4 protocol kernel table all dsfield 0x30 via 10.0.0.1 vrf blue src 10.5.5.5 realms 6 cloned cached')
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
%w[add change append del delete replace].each do |action_variant|
|
91
|
+
it "prepares #{action_variant} command" do
|
92
|
+
expect_command(host.ip(object_variant, action_variant, {
|
93
|
+
dev: 'eno2',
|
94
|
+
mtu: 1600,
|
95
|
+
congctl: 'test'
|
96
|
+
}), "ip route #{action_variant} dev eno2 mtu 1600 congctl test")
|
97
|
+
|
98
|
+
expect_command(host.ip(object_variant, action_variant, {
|
99
|
+
to: '0/0',
|
100
|
+
tos: '0x28',
|
101
|
+
dsfield: '0x98',
|
102
|
+
metric: 32,
|
103
|
+
table: 254,
|
104
|
+
vrf: 'green',
|
105
|
+
src: '172.3.3.3',
|
106
|
+
realm: '6',
|
107
|
+
mtu: 1600,
|
108
|
+
mtu_lock: true,
|
109
|
+
window: 3,
|
110
|
+
rtt: 4,
|
111
|
+
rttvar: 12,
|
112
|
+
rto_min: 1,
|
113
|
+
sshthresh: 0,
|
114
|
+
cwnd: 12,
|
115
|
+
initcwnd: 5,
|
116
|
+
initrwnd: 5,
|
117
|
+
features: 'ecn',
|
118
|
+
quickack: 'true',
|
119
|
+
fastopen_no_cookie: 'true',
|
120
|
+
congctl: 'test',
|
121
|
+
congctl_lock: true,
|
122
|
+
advmss: 7,
|
123
|
+
reordering: 3,
|
124
|
+
next_hop: {
|
125
|
+
via: '172.0.0.0',
|
126
|
+
dev: 'gateway',
|
127
|
+
weight: 100
|
128
|
+
},
|
129
|
+
scope: 0,
|
130
|
+
protocol: 'static',
|
131
|
+
onlink: true,
|
132
|
+
pref: 'high'
|
133
|
+
}), "ip route #{action_variant} to 0/0 tos 0x28 dsfield 0x98 metric 32 table 254 vrf green src 172.3.3.3 realm 6 mtu lock 1600 window 3 rtt 4 rttvar 12 rto_min 1 cwnd 12 initcwnd 5 initrwnd 5 features ecn quickack true fastopen_no_cookie true congctl lock test advmss 7 reordering 3 next_hop via 172.0.0.0 dev gateway weight 100 scope 0 protocol static onlink pref high")
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
it 'prepares flush command' do
|
138
|
+
expect_command(host.ip(object_variant, 'flush', {
|
139
|
+
family: 'inet',
|
140
|
+
to: '10.0/16',
|
141
|
+
from: '10.1/16',
|
142
|
+
dev: 'eno4',
|
143
|
+
protocol: 'kernel',
|
144
|
+
dsfield: '0x30',
|
145
|
+
table: 'all',
|
146
|
+
vrf: 'blue',
|
147
|
+
cloned: true,
|
148
|
+
cached: true,
|
149
|
+
via: '10.0.0.1',
|
150
|
+
src: '10.5.5.5',
|
151
|
+
realms: '6'
|
152
|
+
}), 'ip -family inet route flush to 10.0/16 dev eno4 protocol kernel table all dsfield 0x30 via 10.0.0.1 vrf blue src 10.5.5.5 realms 6 cloned cached')
|
153
|
+
end
|
154
|
+
|
155
|
+
it 'prepares get command' do
|
156
|
+
expect_command(host.ip(object_variant, 'get', {
|
157
|
+
dev: 'eth1',
|
158
|
+
to: '10.0/16',
|
159
|
+
from: '10.1/16',
|
160
|
+
fibmatch: true,
|
161
|
+
tos: '0x28',
|
162
|
+
dsfield: '0x30',
|
163
|
+
iif: 'eth0',
|
164
|
+
oif: 'eth1',
|
165
|
+
mark: '0x20',
|
166
|
+
ipproto: 'tcp',
|
167
|
+
dport: 80,
|
168
|
+
sport: 80,
|
169
|
+
connected: true
|
170
|
+
}), 'ip route get fibmatch to 10.0/16 from 10.1/16 tos 0x28 dsfield 0x30 iif eth0 oif eth1 mark 0x20 ipproto tcp sport 80 dport 80 connected')
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::IP do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
%w[rule ru].each do |object_variant|
|
23
|
+
context "with ip #{object_variant}" do
|
24
|
+
context 'with json support' do
|
25
|
+
before(:all) do
|
26
|
+
StubNetwork.stub_command!(:ip_version) do
|
27
|
+
Kanrisuru::Core::IP::IPROUTE2_JSON_VERSION
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
after(:all) do
|
32
|
+
StubNetwork.unstub_command!(:ip_version)
|
33
|
+
end
|
34
|
+
|
35
|
+
%w[show list].each do |action_variant|
|
36
|
+
it "prepares #{action_variant} command" do
|
37
|
+
expect_command(host.ip(object_variant, action_variant), 'ip -json rule show')
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
%w[add delete del].each do |action_variant|
|
42
|
+
it "prepares #{action_variant} command" do
|
43
|
+
expect_command(host.ip(object_variant, action_variant, {
|
44
|
+
type: 'unicast',
|
45
|
+
from: '0/0',
|
46
|
+
to: '0/0',
|
47
|
+
iif: 'eth0',
|
48
|
+
oif: 'eth1',
|
49
|
+
tos: '0x28',
|
50
|
+
dsfield: '0x30',
|
51
|
+
fwmark: 2,
|
52
|
+
uidrange: '1-10',
|
53
|
+
ipproto: 'tcp',
|
54
|
+
sport: 80,
|
55
|
+
dport: 80,
|
56
|
+
priority: 1,
|
57
|
+
table: 5,
|
58
|
+
protocol: 'kernel',
|
59
|
+
suppress_prefixlength: 8,
|
60
|
+
suppress_ifgroup: 6,
|
61
|
+
realms: '1',
|
62
|
+
nat: '10.1.1.1'
|
63
|
+
}), "ip rule #{action_variant} type unicast from 0/0 to 0/0 iif eth0 tos 0x28 dsfield 0x30 fwmark 2 priority 1 table 5 realms 1 nat 10.1.1.1")
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'prepares flush command' do
|
68
|
+
expect_command(host.ip(object_variant, 'flush', {
|
69
|
+
protocol: 'kernel'
|
70
|
+
}), 'ip rule flush protocol kernel')
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::IP do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
context 'with ip version' do
|
23
|
+
it 'prepares ip_version command' do
|
24
|
+
expect_command(host.ip_version, 'ip -V')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,135 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe Kanrisuru::Core::System do
|
6
|
+
before(:all) do
|
7
|
+
StubNetwork.stub!
|
8
|
+
end
|
9
|
+
|
10
|
+
after(:all) do
|
11
|
+
StubNetwork.unstub!
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:host) do
|
15
|
+
Kanrisuru::Remote::Host.new(
|
16
|
+
host: 'localhost',
|
17
|
+
username: 'ubuntu',
|
18
|
+
keys: ['id_rsa']
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'prepares cpu_info command' do
|
23
|
+
expect_command(host.cpu_info('sockets'), "lscpu | grep -i '^Socket' | awk '{print $NF}'")
|
24
|
+
expect_command(host.cpu_info('cores_per_socket'), "lscpu | grep -i '^Core' | awk '{print $NF}'")
|
25
|
+
expect_command(host.cpu_info('threads'), "lscpu | grep -i '^Thread' | awk '{print $NF}'")
|
26
|
+
|
27
|
+
allow(Kanrisuru.logger).to receive(:info)
|
28
|
+
expect(Kanrisuru.logger).to receive(:info) do |&block|
|
29
|
+
expect(block.call).to eq('DEPRECATION WARNING: cpu_info will be removed in the upcoming major release. Use lscpu instead.')
|
30
|
+
end
|
31
|
+
|
32
|
+
expect_command(host.cpu_info('cores'), "lscpu | grep -i '^CPU(' | awk '{print $NF}'")
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'prepares free command' do
|
36
|
+
expect_command(host.free('total'), "cat /proc/meminfo | grep -i '^MemTotal' | awk '{print $2}'")
|
37
|
+
expect_command(host.free('free'), "cat /proc/meminfo | grep -i '^MemFree' | awk '{print $2}'")
|
38
|
+
expect_command(host.free('swap'), "cat /proc/meminfo | grep -i '^SwapTotal' | awk '{print $2}'")
|
39
|
+
expect_command(host.free('swap_free'), "cat /proc/meminfo | grep -i '^SwapFree' | awk '{print $2}'")
|
40
|
+
|
41
|
+
expect do
|
42
|
+
host.free('hello')
|
43
|
+
end.to raise_error(ArgumentError)
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'prepares kernel_statistics command' do
|
47
|
+
expect_command(host.kernel_statistics, 'cat /proc/stat')
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'prepares kill command' do
|
51
|
+
expect_command(host.kill('KILL', 1024), 'kill -KILL 1024')
|
52
|
+
expect_command(host.kill(1, 1024), 'kill -HUP 1024')
|
53
|
+
expect_command(host.kill('TERM', [1024, 1025, 1026]), 'kill -TERM 1024 1025 1026')
|
54
|
+
|
55
|
+
expect do
|
56
|
+
host.kill('all', 0)
|
57
|
+
end.to raise_error(ArgumentError)
|
58
|
+
end
|
59
|
+
|
60
|
+
it 'prepares last command' do
|
61
|
+
expect_command(host.last, "last -i -F | sed 's/ / /'")
|
62
|
+
expect_command(host.last({ file: '/var/log/login.log' }), "last -i -F -f /var/log/login.log | sed 's/ / /'")
|
63
|
+
expect_command(host.last({ failed_attempts: true }), "lastb -i -F | sed 's/ / /'")
|
64
|
+
end
|
65
|
+
|
66
|
+
it 'prepares load_average command' do
|
67
|
+
expect_command(host.load_average, "cat /proc/loadavg | awk '{print $1,$2,$3}'")
|
68
|
+
end
|
69
|
+
|
70
|
+
it 'prepares load_env command' do
|
71
|
+
expect_command(host.load_env, 'env')
|
72
|
+
end
|
73
|
+
|
74
|
+
it 'prepares lscpu command' do
|
75
|
+
expect_command(host.lscpu, 'lscpu')
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'prepares lsof command' do
|
79
|
+
expect_command(host.lsof, 'lsof -F pcuftDsin')
|
80
|
+
end
|
81
|
+
|
82
|
+
it 'prepares poweroff command' do
|
83
|
+
expect_command(host.poweroff, 'shutdown')
|
84
|
+
expect_command(host.poweroff(cancel: true), 'shutdown -c')
|
85
|
+
expect_command(host.poweroff(cancel: true, message: 'canceling...'), 'shutdown -c canceling...')
|
86
|
+
expect_command(host.poweroff(no_wall: true), 'shutdown --no-wall')
|
87
|
+
expect_command(host.poweroff(time: 10), 'shutdown +10')
|
88
|
+
expect_command(host.poweroff(time: 'now'), 'shutdown now')
|
89
|
+
expect_command(host.poweroff(time: '11:11'), 'shutdown 11:11')
|
90
|
+
expect_command(host.poweroff(time: '11:11', message: 'turning off'), 'shutdown 11:11 turning off')
|
91
|
+
|
92
|
+
expect do
|
93
|
+
host.poweroff(time: 'hsadf')
|
94
|
+
end.to raise_error(ArgumentError)
|
95
|
+
end
|
96
|
+
|
97
|
+
it 'prepares ps command' do
|
98
|
+
expect_command(host.ps,
|
99
|
+
'ps ww ax -o uid,user,gid,group,ppid,pid,pcpu,pmem,stat,pri,flags,policy,time,cmd --no-headers')
|
100
|
+
expect_command(host.ps(user: '1000', group: '1000'),
|
101
|
+
'ps ww --user 1000 --group 1000 -o uid,user,gid,group,ppid,pid,pcpu,pmem,stat,pri,flags,policy,time,cmd --no-headers')
|
102
|
+
expect_command(host.ps(user: [0, 1000], group: [0, 1000]),
|
103
|
+
'ps ww --user 0,1000 --group 0,1000 -o uid,user,gid,group,ppid,pid,pcpu,pmem,stat,pri,flags,policy,time,cmd --no-headers')
|
104
|
+
expect_command(host.ps(pid: 100),
|
105
|
+
'ps ww --pid 100 -o uid,user,gid,group,ppid,pid,pcpu,pmem,stat,pri,flags,policy,time,cmd --no-headers')
|
106
|
+
expect_command(host.ps(pid: [100, 101, 102]),
|
107
|
+
'ps ww --pid 100,101,102 -o uid,user,gid,group,ppid,pid,pcpu,pmem,stat,pri,flags,policy,time,cmd --no-headers')
|
108
|
+
expect_command(host.ps(pid: [100, 101, 102], ppid: [0, 3, 5]),
|
109
|
+
'ps ww --pid 100,101,102 --ppid 0,3,5 -o uid,user,gid,group,ppid,pid,pcpu,pmem,stat,pri,flags,policy,time,cmd --no-headers')
|
110
|
+
end
|
111
|
+
|
112
|
+
it 'prepares reboot command' do
|
113
|
+
expect_command(host.reboot, 'shutdown -r')
|
114
|
+
expect_command(host.reboot(cancel: true), 'shutdown -c')
|
115
|
+
expect_command(host.reboot(cancel: true, message: 'canceling...'), 'shutdown -c canceling...')
|
116
|
+
expect_command(host.reboot(no_wall: true), 'shutdown -r --no-wall')
|
117
|
+
expect_command(host.reboot(time: 10), 'shutdown -r +10')
|
118
|
+
expect_command(host.reboot(time: 'now'), 'shutdown -r now')
|
119
|
+
expect_command(host.reboot(time: '11:11'), 'shutdown -r 11:11')
|
120
|
+
expect_command(host.reboot(time: '11:11', message: 'turning off'), 'shutdown -r 11:11 turning off')
|
121
|
+
|
122
|
+
expect do
|
123
|
+
host.reboot(time: 'hsadf')
|
124
|
+
end.to raise_error(ArgumentError)
|
125
|
+
end
|
126
|
+
|
127
|
+
it 'prepares uptime command' do
|
128
|
+
expect_command(host.uptime, 'cat /proc/uptime')
|
129
|
+
end
|
130
|
+
|
131
|
+
it 'prepares w command' do
|
132
|
+
expect_command(host.w, 'w -hi')
|
133
|
+
expect_command(host.who(users: 'centos'), 'w -hi centos')
|
134
|
+
end
|
135
|
+
end
|