summaryrefslogtreecommitdiff
path: root/spec/ruby/library/etc/struct_passwd_spec.rb
blob: 93ad9dfa2a57df824795b12db9336cb00c4f5fd7 (plain)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
require_relative '../../spec_helper'
require 'etc'

describe "Struct::Passwd" do
  platform_is_not :windows do
    before :all do
      @pw = Etc.getpwuid(`id -u`.strip.to_i)
    end

    it "returns user name" do
      @pw.name.should == `id -un`.strip
    end

    it "returns user password" do
      @pw.passwd.is_a?(String).should == true
    end

    it "returns user id" do
      @pw.uid.should == `id -u`.strip.to_i
    end

    it "returns user group id" do
      @pw.gid.should == `id -g`.strip.to_i
    end

    it "returns user personal information (gecos field)" do
      @pw.gecos.is_a?(String).should == true
    end

    it "returns user home directory" do
      @pw.dir.is_a?(String).should == true
    end

    it "returns user shell" do
      @pw.shell.is_a?(String).should == true
    end

    it "can be compared to another object" do
      (@pw == nil).should == false
      (@pw == Object.new).should == false
    end
  end
end