Files
metasploit-gs/spec/lib/metasploit/framework/obfuscation/crandomizer/utility_spec.rb
T

49 lines
1.5 KiB
Ruby
Raw Normal View History

2018-06-27 00:13:56 -05:00
require 'spec_helper'
require 'metasploit/framework/obfuscation/crandomizer/utility'
RSpec.describe Metasploit::Framework::Obfuscation::CRandomizer::Utility do
describe '#self.rand_int' do
2018-06-27 13:49:45 -05:00
it 'returns an integer' do
int = Metasploit::Framework::Obfuscation::CRandomizer::Utility.rand_int
2018-06-29 01:42:22 -05:00
# Ruby at one point switched from Fixnum to Integer, so to support both,
# it's easier to do a regex check.
expect(int.to_s).to match(/^\d+$/)
2018-06-27 13:49:45 -05:00
end
it 'returns a random integer' do
int_1 = Metasploit::Framework::Obfuscation::CRandomizer::Utility.rand_int
int_2 = Metasploit::Framework::Obfuscation::CRandomizer::Utility.rand_int
expect(int_2).not_to eq(int_1)
end
2018-06-27 00:13:56 -05:00
end
describe '#self.rand_string' do
2018-06-27 13:49:45 -05:00
it 'returns a string' do
s = Metasploit::Framework::Obfuscation::CRandomizer::Utility.rand_string
expect(s.class).to eq(String)
end
it 'returns a random string' do
s_1 = Metasploit::Framework::Obfuscation::CRandomizer::Utility.rand_string
s_2 = Metasploit::Framework::Obfuscation::CRandomizer::Utility.rand_string
expect(s_2).not_to eq(s_1)
end
2018-06-27 00:13:56 -05:00
end
describe '#self.parse' do
2018-06-27 13:49:45 -05:00
let(:c_code) {
%Q|
int main() {
const char* s = "This is a test";
return 0;
}|
}
it 'returns a Metasploit::C::Parser object' do
p = Metasploit::Framework::Obfuscation::CRandomizer::Utility.parse(c_code)
expect(p.class).to eq(Metasm::C::Parser)
end
2018-06-27 00:13:56 -05:00
end
end