Sha256: c13e5f535ed31eb23642d17aed84194b5fd15f51a31de08f8a349995fcc18f74

Contents?: true

Size: 1.52 KB

Versions: 2

Compression:

Stored size: 1.52 KB

Contents

require 'spec_helper'

describe Fastdfs::Client::Tracker do 

  let(:host){ "192.168.9.16" }
  let(:port){ "22122" }

  let(:tracker){ FC::Tracker.new(host, port) }

  it "initialize the server" do 
    expect(FC::Socket).to receive(:new).with(host, port, nil) 
    FC::Tracker.new(host, port) 
  end

  it "should have access to the storage connection" do
    expect(tracker.socket).to receive(:connection)
    expect(tracker.socket).to receive(:close)
    tracker.get_storage
  end

  it "should have access to the storage class" do 
    expect(tracker.get_storage.class).to eq(FC::Storage)
  end

  it "verify the server address and port" do 
    expect(tracker.get_storage.host).to eq(TestConfig::STORAGE_IP)
    #[0, 0, 0, 0, 0, 89, 216, 0]
    expect(tracker.get_storage.port.to_s).to eq(TestConfig::STORAGE_PORT)
    expect(tracker.get_storage.store_path).to eq(TestConfig::STORE_PATH)
  end

  it "get to the server failed" do 
    result = FC::ProtoCommon.header_bytes(FC::CMD::RESP_CODE, 0, 22)
    MockTCPSocket.any_instance.stub("recv").and_return(result.pack("C*"))
    expect(tracker.get_storage).to be_a_kind_of(Hash)
    expect(tracker.get_storage[:status]).to be_falsey
  end

  it "run server flow" do 
    1.times.map do
      tracker.get_storage
    end

    # storage = tracker.get_storage
    # puts "#{storage.host}, #{storage.port}"
    # results = storage.upload(File.open("/Users/huxinghai/Documents/shark/app/assets/images/page.png"))
    # puts results
    # puts storage.delete(results[:path], results[:group_name])
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fastdfs-client-1.0.2 spec/tracker_spec.rb
fastdfs-client-1.0.1 spec/tracker_spec.rb