github.com/xxRanger/go-ethereum@v1.8.23/swarm/storage/mock/db/db_test.go (about)

     1  // +build go1.8
     2  //
     3  // Copyright 2018 The go-ethereum Authors
     4  // This file is part of the go-ethereum library.
     5  //
     6  // The go-ethereum library is free software: you can redistribute it and/or modify
     7  // it under the terms of the GNU Lesser General Public License as published by
     8  // the Free Software Foundation, either version 3 of the License, or
     9  // (at your option) any later version.
    10  //
    11  // The go-ethereum library is distributed in the hope that it will be useful,
    12  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    13  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    14  // GNU Lesser General Public License for more details.
    15  //
    16  // You should have received a copy of the GNU Lesser General Public License
    17  // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
    18  
    19  package db
    20  
    21  import (
    22  	"io/ioutil"
    23  	"os"
    24  	"testing"
    25  
    26  	"github.com/ethereum/go-ethereum/swarm/storage/mock/test"
    27  )
    28  
    29  // TestDBStore is running a test.MockStore tests
    30  // using test.MockStore function.
    31  func TestDBStore(t *testing.T) {
    32  	dir, err := ioutil.TempDir("", "mock_"+t.Name())
    33  	if err != nil {
    34  		panic(err)
    35  	}
    36  	defer os.RemoveAll(dir)
    37  
    38  	store, err := NewGlobalStore(dir)
    39  	if err != nil {
    40  		t.Fatal(err)
    41  	}
    42  	defer store.Close()
    43  
    44  	test.MockStore(t, store, 100)
    45  }
    46  
    47  // TestImportExport is running a test.ImportExport tests
    48  // using test.MockStore function.
    49  func TestImportExport(t *testing.T) {
    50  	dir1, err := ioutil.TempDir("", "mock_"+t.Name()+"_exporter")
    51  	if err != nil {
    52  		panic(err)
    53  	}
    54  	defer os.RemoveAll(dir1)
    55  
    56  	store1, err := NewGlobalStore(dir1)
    57  	if err != nil {
    58  		t.Fatal(err)
    59  	}
    60  	defer store1.Close()
    61  
    62  	dir2, err := ioutil.TempDir("", "mock_"+t.Name()+"_importer")
    63  	if err != nil {
    64  		panic(err)
    65  	}
    66  	defer os.RemoveAll(dir2)
    67  
    68  	store2, err := NewGlobalStore(dir2)
    69  	if err != nil {
    70  		t.Fatal(err)
    71  	}
    72  	defer store2.Close()
    73  
    74  	test.ImportExport(t, store1, store2, 100)
    75  }