// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CRYPTO_SCOPED_TEST_NSS_DB_H_
#define CRYPTO_SCOPED_TEST_NSS_DB_H_

#include "base/files/scoped_temp_dir.h"
#include "base/macros.h"
#include "crypto/crypto_export.h"
#include "crypto/scoped_nss_types.h"

namespace crypto {

// Opens a persistent NSS database in a temporary directory.
// Prior NSS version 3.15.1, because of http://bugzil.la/875601 , the opened DB
// will not be closed automatically.
class CRYPTO_EXPORT ScopedTestNSSDB {
 public:
  ScopedTestNSSDB();
  ~ScopedTestNSSDB();

  bool is_open() const { return !!slot_; }
  PK11SlotInfo* slot() const { return slot_.get(); }

 private:
  base::ScopedTempDir temp_dir_;
  ScopedPK11Slot slot_;

  DISALLOW_COPY_AND_ASSIGN(ScopedTestNSSDB);
};

}  // namespace crypto

#endif  // CRYPTO_SCOPED_TEST_NSS_DB_H_
